我正在尝试使用我的一个帮助路径创建一个链接,如下所示:
<%= link_to url: admin_url(group) do %><i class="fa fa-eye"></i><% end %>
但是当rails渲染页面时,元素看起来像是:
<a href="/admin?url=%2Fadmin%2F1%2Fedit"><i class="fa fa-pencil"></i></a>
如何正确链接到admin_url(group)
?
答案 0 :(得分:1)
<%= link_to admin_url(group) do %><i class="fa fa-eye"></i><% end %>
只有在使用polymorphic routing而不是路径助手或文字路径时才传递哈希作为第一个参数:
link_to(action: 'foo', controller: 'bar') do
# name
end
缺少路线密钥可以从当前请求的参数中填写(例如:controller,:action,:id以及放置在路径中的任何其他参数)
这给了我们/admin
url_for
会将url
等非保留选项添加到查询字符串中,这就是/admin?url=%2Fadmin%2F1%2Fedit"
的原因。