按日期时间在Rails中输入数据

时间:2015-05-29 08:34:35

标签: ruby-on-rails ruby activerecord

我的表中有content_date行,它使用datetime字段类型。我想使用此字段订购我的数据(content_items)。

models / content_item.rb

class ContentItem < ActiveRecord::Base
  belongs_to :calendar
end

models / calendar.rb

class Calendar < ActiveRecord::Base
    has_many :content_items
end

controllers / content_items_controller.rb

  def index
    @calendar = Calendar.find(params[:calendar_id])
  end

我试过这个,但没有成功:

controllers / content_items_controller.rb

  def index
    @calendar = Calendar.find(params[:calendar_id])
    @content_item = @calendar.content_items.order(content_date: :desc)
  end

Github链接:https://github.com/JeremyEnglert/baked

2 个答案:

答案 0 :(得分:3)

这应解决问题:

@content_item = @calendar.content_items.order('content_date desc')

<强>更新

我检查了你的Github回购。您没有在控制器中使用实例变量来显示内容项。你必须改变:

应用/视图/ content_items / index.html.erb

<% @calendar.content_items.each do |content_item| %>

为:

<% @content_item.each do |content_item| %>

答案 1 :(得分:0)

@content_items = Calendar.includes(:content_items).order('content_items.content_date desc')

这将解决您的问题。