在ActiveAdmin索引视图列中显示子/嵌套属性

时间:2012-04-23 22:20:46

标签: ruby-on-rails activeadmin

我正在尝试在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"

我期望第一个声明也是如此(指的是“彼得约翰”),但事实并非如此。我错过了什么?

1 个答案:

答案 0 :(得分:1)

清除记录并从新记录开始。另外,尝试添加

    client.sales_agent.agent_name if !client.sales_agent.nil?