Active_Admin仅限生产中的未定义方法错误

时间:2013-08-01 23:35:59

标签: undefined activeadmin production-environment

我有一个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

为什么我会在生产中遇到错误而不是在开发中出现错误?

1 个答案:

答案 0 :(得分:1)

这可能导致becoz你没有在Strengths模型中记录,

尝试将first_name和last_name列中的条件添加为

column "Name" do |i|
    i.user.first_name if i.user.present? 
end

如果没有记录,这将避免错误。