我有一个页面需要指向具有给定ID的用户页面的链接。因此,如果ID为1234,我希望最终的href为/ user / 1234。
我尝试使用
link_to "User", {:controller => "user", :action => "show", :id => 1234 }
这给了我一个网址
/assets?action=show&controller=user&id=1234
link_to参数应该是什么?
答案 0 :(得分:2)
我鼓励你尽可能使用命名路由(让Rails为你工作)。也就是说,添加路由文件的路径:
resources :users
然后,您可以将link_to方法编写为:
link_to "User", user_path(@user)
或
link_to "User", user_path(1234)
答案 1 :(得分:1)
对于HTML ID
<%= link_to "User", {:controller => "user", :action => "show"}, :id => '1234' %>
http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-link_to
路径ID
link_to "Profile", :controller => "profiles", :action => "show", :id => @profile
# => <a href="/profiles/show/1">Profile</a>
答案 2 :(得分:1)
这种语法虽然有效,但仍然可以回到Rails 2天。
为什么不使用内置的url助手? URL Helpers
这将允许您将有问题的用户作为对象传递给link_to
<%= link_to "User", user_url( user_object ) %>
或者如果您希望明确(这会将其添加为params选项)
<%= link_to "User", user_url( :id => '1234' ) %>