簡體   English   中英

部分內容在ActiveAdmin中呈現兩次

[英]Partial is rendered twice in ActiveAdmin

我的局部被渲染了兩次:在頁面頂部和應該放置的地方。 顯然,只有當我具有ActiveAdmin特定的代碼(table_for)時,才會發生這種情況。

任何幫助是極大的贊賞。 以下是我正在使用的一些代碼片段。

在我的活動管理文件中:

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文件中

<%=
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
%>

根據我的閱讀,ActiveAdmin將根據當前的模型/資源名稱自動獲取部分的路徑。 這意味着傳遞"child_list"將導致
"/admin/process_nodes/_child_list.html.erb"

用法是

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

同樣,在ActiveAdmin面板塊中包含unless語句似乎會更好。 這樣,如果沒有子進程,則無需添加不必要的渲染調用。

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

最后,我不知道使用局部方法是否有很大好處。 我不知道您是否還有其他要求,但是您可以通過這種方式編寫。

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM