【问题标题】:Ruby on Rails - Railscast #213 Calendar sort by datetime not dateRuby on Rails - Railscast #213 日历按日期时间而不是日期排序
【发布时间】:2015-04-08 19:54:26
【问题描述】:

我正在构建一个涉及日历的应用程序。我发现用于构建日历的 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

任何帮助将不胜感激。谢谢

【问题讨论】:

  • 你有什么问题?

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


【解决方案1】:

我假设您的问题是如何按日期时间组织我的@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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多