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

问题描述 投票:0回答:1

我有一个用户模型和一个优点模型。 用户具有多种优势,而我正在尝试在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

有什么想法为什么我会在生产中出现错误但在开发中没有错误?

undefined activeadmin production-environment
1个回答
1
投票

这可能会导致因为您没有在“优势”模型中记录,

尝试在first_name和last_name列中添加if条件,

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

如果记录不存在,这将避免错误。

© www.soinside.com 2019 - 2024. All rights reserved.