sho*_*rpt 8 ruby-on-rails 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
Run Code Online (Sandbox Code Playgroud)
在_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
%>
Run Code Online (Sandbox Code Playgroud)
根据我的阅读,ActiveAdmin将根据当前的模型/资源名称自动获取部分路径.这意味着传递"child_list"将导致
"/admin/process_nodes/_child_list.html.erb".
用法是
div render "child_list", :locals { :parent => process_node }
Run Code Online (Sandbox Code Playgroud)
此外,似乎最好unless在ActiveAdmin面板块中包含您的语句.然后,如果没有子进程,则不必添加不必要的渲染调用.
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
Run Code Online (Sandbox Code Playgroud)
最后,我不知道是否使用偏差是一个很大的好处.我不知道你是否还有其他任何东西,但你可以这样写.
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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1719 次 |
| 最近记录: |