我正在尝试在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"
我期望第一个声明也是如此(指的是“彼得约翰”),但事实并非如此。我错过了什么?
答案 0 :(得分:1)
清除记录并从新记录开始。另外,尝试添加
client.sales_agent.agent_name if !client.sales_agent.nil?