Ruby on Rails - Railscast#213日历按日期时间排序而不是日期

时间:2015-04-08 19:54:26

标签: ruby-on-rails ruby datetime calendar railscasts

我正在构建一个涉及日历的应用。我发现用于构建日历的railscast虽然过时但证明是非常有用的。我已经完成所有工作了我只是试图允许每个日期的内容按日期时间进行组织,而不仅仅是日期,因此它们按正确的时间顺序显示。

我当前的控制器如下所示:

def index
  @lessons = Lesson.all
  @lesson_by_date = @lessons.group_by { |i| i.lesson_date.to_date }
  @date = params[:date] ? Date.parse(params[:date]) : Date.today
end

非常感谢任何帮助。感谢

1 个答案:

答案 0 :(得分:0)

我假设您的问题是如何按日期时间组织我的@lessons。我会提到一些不同的场景。我有点受限,因为我从你的帖子中不知道你是如何组织桌面的架构的,但我认为控制器给了我一个棒球场的想法。

1) 你应该替换:

@lesson = Lesson.all
@lesson_by_date = @lessons.group_by { |i| i.lesson_date.to_date }

有更快的东西:

@lesson_by_date = Lesson.order('lesson_date')

2) 如果你想知道为什么你当前的代码没有工作,那是因为你的group_by块试图将i.lesson_date转换为日期IE to_date。相反,您可能想尝试to_datetime。

3)我会审核http://apidock.com/rails/ActiveRecord/QueryMethods/order

相关问题