[]:Array的未定义方法`order'

时间:2016-05-31 22:02:05

标签: sql ruby-on-rails ruby-on-rails-3 methods undefined

我有以下代码,我根据用户是否为管理员为用户加载活动。用户只能看到自己的活动源,而管理员可以看到整个流。这是与朋友分享活动信息的前兆。

  def index
    if current_user?
      @incidents = Incident.find_all_by_user_id(current_user.id).order("created_at desc")
    else
      @incidents = Incident.all.order("created_at desc")
    end
  end

我收到上面提到的错误(undefined method "order" for []:Array)。它似乎是.order引用,但我检查了rails指南,它似乎是正确的语法。

有什么想法吗?

2 个答案:

答案 0 :(得分:2)

尝试将pthread_kill()更改为find_by...,以便:

where

应该有效: - )

答案 1 :(得分:1)

#index操作方法可以简化和优化(通过find_all_by替换为where):

 def index
   clause = current_user? && Incident.where(user_id: current_user.id) || Incident
   @incidents = clause.order("created_at desc")
 end