繁体   English   中英

仅使用ID使用rails link_to

[英]Using rails link_to with just an ID

我有一个页面,需要链接到具有给定ID的用户页面。 因此,如果ID为1234,则我希望最终的href为/ user / 1234。

我尝试使用

link_to "User", {:controller => "user", :action => "show", :id => 1234 } 

这给了我网址

/assets?action=show&controller=user&id=1234

link_to参数应该是什么?

如果可能的话,我鼓励您使用命名路由(让Rails为您工作)。 也就是说,将路由添加到您的路由文件:

resources :users

然后,您可以将link_to方法编写为:

link_to "User", user_path(@user)

要么

link_to "User", user_path(1234)

对于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天回到Rails。

为什么不使用内置的URL帮助器? URL助手

这将允许您将有问题的用户作为对象传递为link_to

<%= link_to "User", user_url( user_object ) %>

或者,如果您更喜欢明确的话(尽管这会将其添加为params选项)

<%= link_to "User", user_url( :id => '1234' ) %>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM