有人可以帮我创建一个辅助函数,以便动态获取控制器操作路径和名称。
<% if action_name.eql? "show" %>
<li><%= link_to '<i class="icon-fixed-width icon-pencil"></i> Edit'.html_safe, edit_contact_path(@contact) %></li>
<li><%= link_to '<i class="icon-fixed-width icon-trash"></i> Delete'.html_safe, @contact, method: :delete, data: { confirm: 'Are you sure?' } %></li>
<% end %>
基本上,我想为这段代码创建一个帮助器:
edit_contact_path(@contact)
我希望能够为“联系人”插入任何控制器名称,以便我可以在我的网站上动态使用上面的大部分代码。
谢谢!
答案 0 :(得分:0)
只需使用[:edit, @contact]
代替显式方法名称。
<li><%= link_to '.... Edit', [:edit, @contact] %></li>
用您希望的变量替换@contact
。我发现数组语法更具可读性,并且更喜欢它。比较:
= link_to "Edit", edit_user_post_comment_path(@user, @post, @comment)
VS
= link_to "Edit", [:edit, @user, @post, @comment]