我有一个User模型和一个Strengths模型。用户具有强大的优势,我正在尝试在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
为什么我会在生产中遇到错误而不是在开发中出现错误?
答案 0 :(得分:1)
这可能导致becoz你没有在Strengths模型中记录,
尝试将first_name和last_name列中的条件添加为
column "Name" do |i|
i.user.first_name if i.user.present?
end
如果没有记录,这将避免错误。