我有以下代码,我根据用户是否为管理员为用户加载活动。用户只能看到自己的活动源,而管理员可以看到整个流。这是与朋友分享活动信息的前兆。
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指南,它似乎是正确的语法。
有什么想法吗?
答案 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