我的表中有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
答案 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')
这将解决您的问题。