我正在尝试按created_at日期降序排序我的结果,但order.clause似乎不起作用。我恐怕我已经看了很长时间,并且可以完全受益于第二眼(或第三眼或更多眼)。
mailbox_controller.rb
:
def show
current_user = User.find(session[:user_id])
@folder = Folder.where("user_id = #{current_user.id}").first
@msgs = @folder.messages.order("created_at DESC")
@messages = @msgs.where(["deleted IS NULL"] || ["deleted = ?", false]).paginate :per_page => 5, :page => params[:page]
end
答案 0 :(得分:3)
@msgs = @folder.messages.order("created_at DESC")
@messages = @msgs.where(["deleted IS NULL"] || ["deleted = ?", false])
应该是
@messages = @folder.messages.order("created_at DESC").where("deleted = ? or deleted IS NULL", false)
答案 1 :(得分:0)
我遇到了类似的问题,看起来你要创建的created_at属于Folder而不是message。
你可以试试吗
@msgs = @folder.messages.order("messages.created_at DESC")