我试图找出如何显示超过一个级别的关联。
在我的FORM上显示,我刚刚在那里完成:
form do |f|
f.inputs "Details" do
f.input :name
f.input :item_category
f.input :resource
f.input :status
end
f.inputs "Actions" do
f.semantic_errors *f.object.errors.keys
f.has_many :item_actions, :allow_destroy => true, :heading => 'Planets', :new_record => true do |obj|
obj.input :action
obj.input :status
obj.input :_destroy, :as=>:boolean, :required => false, :label=>'Remove'
obj.has_many :item_action_skills, :heading => "Skills" do |ias|
ias.input :skill
ias.input :level
end
end
end
f.actions
端
你可以看到,我展示了has_many:item_actions并且更深入到了item_action.item_action_skills。在这个表格上是完美的。
现在我也想在节目页面上看到它。我的代码:
show do |obj|
attributes_table do
row :name
row :item_category
row(:resource) {|obj| status_tag((obj.resource ? 'yes' : 'no'), (obj.resource ? :ok : :error))}
row(:status) {|obj| status_tag(obj.status_string.first, obj.status_string.last) }
end
panel "Actions" do
table_for obj.item_actions do
column :action
column(:status) {|obj| status_tag(obj.status_string.first, obj.status_string.last) }
end
end
active_admin_comments
端
我写table_for,但现在如何进入下一个关联? 我想要item_action.item_action_skills。
我不知道。有什么想法吗?
谢谢!
Ruby 1.9.3 Rails 3.2.14 ActiveAdmin 0.6.0
答案 0 :(得分:1)
试试这个:
panel "Actions" do
table_for obj.item_actions do
column :action
column(:status) {|obj| status_tag(obj.status_string.first, obj.status_string.last) }
column("skills"){|resource|
table_for resource.item_action_skills do
column(:your_column)
end
}
end
end