这似乎是一个简单的问题,但我不能为我的生活指出问题。
摘录来源:Show.Html.Erb
<% if @jobs.any? %>
users_controller.rb
def show
if current_user.role == 4
@jobs = Job.where(jsender_id: current_user.id).order('created_at DESC')
else
end
end
我的工作表是空的,这让我首先假设@jobs被实例化为'Nil',因为数据库中没有记录。我创建了一些记录但仍然得到No Method错误。我在这里错过了什么吗?
Job.rb for good measure:
class Job < ActiveRecord::Base
belongs_to :jsender, :class_name => 'User'
belongs_to :jrecipient, :class_name => 'User'
end
答案 0 :(得分:3)
您只在@jobs
时设置current_user.role == 4
,因此我们可以具体地说current_user.role
不是4
。不可能。如果是,@jobs
不能为零,因为.where
无法返回nil
,如果没有匹配的记录,则返回一个空数组。
我们无法帮助您,除了告诉您弄清楚current_user.role
的价值是什么,以及为什么它不符合您的期望。