2013-11-26 71 views
0

日期字段我有一个相关联2种型号:轨道4排序不工作

用户模型

class User < ActiveRecord::Base 
devise :database_authenticatable, :registerable, 
    :recoverable, :rememberable, :trackable, :validatable 
has_many :events 

事件模型

class Event < ActiveRecord::Base 
belongs_to :user 
end 

在我的索引控制器和方法我我列出了每个用户的事件,并且看起来很简单,出于某种原因,我无法更改订单。我在我的事件模型中有一个“even_date”日期字段,我正在尝试排序,created_at不会执行这个技巧,因为我们都知道日期可以更改事件。

什么是最佳实践?排序模型或控制器?

class AdminController < ApplicationController 
before_filter :authenticate_user! 

def index 
    @user = User.find_by_permalink(params[:id]) 
    @events = @user.events.order(event_date: :desc)  
end 
end 

回答

0

试试这个:

@events = @user.events.order(events.event_date: :desc) 
+0

嗯..自爆它与此错误:'语法错误,意外 ':' @events = @ user.events.order(events.event_date: desc)^' –

+0

尝试使用字符串@events = @ user.events.order('events.event_date desc') – fatfrog

+0

这些符号可能无法正常工作,因为您需要指定event_date所属的表。 – fatfrog