2013-08-01 35 views
0

我有一個用戶模型和一個優勢模型。一個用戶has_many的長處,我試圖在Active_Admin中建立一個管理面板來顯示用戶的名字和電子郵件。它完美地在發展,但是當我推到Heroku的我得到這個消息:Active_Admin未定義方法生產中的錯誤

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

這可能會導致becozü不具有優勢模型記錄,

嘗試添加如果條件FIRST_NAME和LAST_NAME列,

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

這將避免錯誤,如果記錄不存在。

+0

非常感謝!這就像一個魅力! – lsco

+0

你歡迎.. n謝謝.. :) – bunty

+0

任何想法,我會如何去創造一個自定義過濾器這個領域?我無法弄清楚,然後我試着將它排序 - column「Name」,:sortable =>:first_name do | i | i.user.first_name if i.user.present? 結束 但是,再次得到相同的錯誤:/ – lsco

相關問題