2012-08-09 24 views
8

'de iki kez işlenir Kısmi iki kez işlenir: sayfanın üstünde ve olması gereken yerde. Görünüşe göre, bu yalnızca ActiveAdmin'e özgü kod (table_for) olduğunda gerçekleşir.Kısmi, ActiveAdmin

Her türlü yardım büyük beğeni topluyor. Aşağıda, kullanıyorum bazı kod parçacıkları vardır. Benim aktif yönetici dosyasında

:

panel "Children - SubProcesses" do 
    text_node link_to "New", new_admin_sub_process_node_path(:parent_id => process_node.id) 
    div render :partial => "/admin/process_nodes/child_list", :locals => { :parent => process_node } 
end 

_child_list.html.erb dosyası

<%= 
unless parent.children.empty? 
table_for parent.children do 
    column :id 
    column :name 
    column "Actions" do |child_node| 
      text_node link_to "View", admin_process_node_path(child_node) 
      text_node " " 
      text_node link_to "Edit", edit_admin_process_node_path(child_node) 
      text_node " " 
      text_node link_to "Delete", admin_process_node_path(child_node), :method => :delete, :confirm => "Delete?" 
    end 
end 
end 
%> 
+0

Muhtemelen yaptığı ilk şey, ancak "/ admin/process_nodes/child_list" yanlışlıkla diğer bazı görünümünde kısmi render olmadığını görmek için böyle bir şey için Projenizi aradık? – anxiety

+0

Panel yöntemi, doğrudan veya dolaylı olarak kodunuzda aranıyor mu? Lütfen çağrıldığı kodu belirtin. –

cevap

5

yılında Okuduğum kadarıyla, ActiveAdmin otomatik yolunu alacak Mevcut model/kaynak adına göre kısmi. Hangi "child_list" geçişi
"/admin/process_nodes/_child_list.html.erb" ile sonuçlanacaktır.

Kullanımı o ActiveAdmin paneli bloğu içinde unless ifadeyi dahil etmek daha iyi olurdu gibi görünüyor, Ayrıca

div render "child_list", :locals { :parent => process_node } 

olurdu. Ardından, herhangi bir alt işlem yoksa gereksiz bir çağrı eklemeniz gerekmez.

panel "Children - SubProcesses" do 
    text_node link_to "New", new_admin_sub_process_node_path(:parent_id => process_node.id) 

    unless parent.children.empty? 
     div render "child_list", :locals { :parent => process_node } 
    end 
end 

Son olarak, kısmi kullanmanın büyük bir fayda sağlayıp sağlamadığını bilmiyorum. Kısmi olarak başka bir şeyiniz var mı bilmiyorum, ama bu şekilde yazabilirsiniz.

panel "Children - SubProcesses" do 
    text_node link_to "New", new_admin_sub_process_node_path(:parent_id => process_node.id) 

    unless parent.children.empty? 
    table_for parent.children do 
     column :id 
     column :name 
     column "Actions" do |child_node| 
     text_node link_to "View", admin_process_node_path(child_node) 
     text_node " " 
     text_node link_to "Edit", edit_admin_process_node_path(child_node) 
     text_node " " 
     text_node link_to "Delete", admin_process_node_path(child_node), :method => :delete, :confirm => "Delete?" 
     end 
    end 
    end 
end