Mysql 试图通过rails中的控制器获取创建的_at date
在my页面中\u controller.rb:Mysql 试图通过rails中的控制器获取创建的_at date,mysql,ruby-on-rails,ruby,Mysql,Ruby On Rails,Ruby,在my页面中\u controller.rb: def home @date = Lesson.find(params[:created_at]) end 此时,我只是试图在操作任何东西之前提取日期并进行可视化,但在home.html.erb中调用@date实例变量时除外 我得到的错误是在没有ID的情况下找不到课程,但我不确定原因。有什么想法吗?有几个帮助工具,其中包括简单的查询和返回一个数组,该数组保存在datetime由created_排序的课程记录 在索引操作中,您可能希望使用:
def home
@date = Lesson.find(params[:created_at])
end
此时,我只是试图在操作任何东西之前提取日期并进行可视化,但在home.html.erb
中调用@date
实例变量时除外
我得到的错误是
在没有ID的情况下找不到课程
,但我不确定原因。有什么想法吗?有几个帮助工具,其中包括简单的查询和返回一个数组,该数组保存在datetime由created_排序的课程记录
在索引操作中,您可能希望使用:
@date = Lesson.find(:all, :order => 'created_at DESC')
当您在索引模板中时,您可能希望使用each sytnax列出它们,并因此将它们路由到您可以访问其属性的显示页面
此外,模型范围将是“最干净”的解决方案
只要记住拿着瘦小的控制器和肥胖的模型
Greetz这类问题的最佳解决方案-使用范围 在课程模型中添加:
scope :by_date, order("created_at DESC")
还有一个默认的作用域
find
只接受一个id。您正在尝试给它一个日期时间。也许这就是你想要的
@date = Lesson.find( params[:id] ).
select( :created_at ).
created_at