1

ActiveAdmin でネストされた属性の値を表示しようとしています。

私のコードは次のとおりです。

index do
  column :code
  column 'Sales Agent' do |client|
    client.sales_agent.agent_name
  end
end

これは私に与えます:

NoMethodError in Admin/client_branches#index

Showing /Users/constantlm/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.4.3/app/views/active_admin/resource/index.html.arb where line #1 raised:

undefined method `agent_name' for nil:NilClass

次のことを行うと、なぜこれが機能しないのかわかりません。

index do
  column :code
  column 'Sales Agent' do |client|
    raise client.sales_agent.agent_name.inspect
  end
end

以下を出力します。

RuntimeError in Admin/client_branches#index

Showing /Users/constantlm/.rvm/gems/ruby-1.9.2-p290/gems/activeadmin-0.4.3/app/views/active_admin/resource/index.html.arb where line #1 raised:

"Peter John"

これは、最初のステートメント(「ピーター・ジョン」を参照)も同様に行うと私が期待することですが、そうではありません。私は何が欠けていますか?

4

1 に答える 1

1

記録をクリアして、新しい記録から始めましょう。さらに追加してみてください

    client.sales_agent.agent_name if !client.sales_agent.nil?
于 2012-04-26T07:52:10.783 に答える