我有一个用户模型和一个优点模型。 用户具有多种优势,而我正在尝试在Active_Admin中构建用于优势的管理面板,以显示用户的first_name和电子邮件。 它在开发中完美运行,但是当我推送到Heroku时,我收到以下消息:
ActionView::Template::Error (undefined method `first_name' for nil:NilClass):
app/admin/strengths.rb:5:in `block (3 levels) in <top (required)>'
到目前为止,这是我在开发中可以使用的功能:
app > admin > strengths.rb
ActiveAdmin.register Strength do
index do
column "Strength ID", :id
column "Name" do |i|
i.user.first_name
end
column "Email" do |i|
i.user.email
end
column :producer
column :versatility
default_actions
end
end
有什么想法为什么我会在生产中出现错误但在开发中没有错误?
这可能会导致因为您没有在“优势”模型中记录,
尝试在first_name和last_name列中添加if条件,
column "Name" do |i|
i.user.first_name if i.user.present?
end
如果记录不存在,这将避免错误。