2013-10-07 74 views
0

我試圖找出如何顯示比一個層次更深的關聯。顯示頁面,顯示協會

顯示在我的形式,我只是做了它那裏:

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

回答

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 
+0

謝謝,這就是看起來非常好! –