使用rails link_to和一个ID



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

我试图使用

link_to "User", {:controller => "user", :action => "show", :id => 1234 } 
这给了我URL
/assets?action=show&controller=user&id=1234

link_to参数应该是什么?

我建议您尽可能使用命名路由(让Rails为您工作)。也就是说,在你的routes文件中添加一条路由:

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>

这种语法虽然有效,但可以追溯到Rails 2时代。

为什么不使用内置的url帮助?URL helper

这将允许您将所讨论的用户作为对象传递给link_to

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

或者如果你喜欢显式的(这将作为一个参数选项添加)

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

相关内容

  • 没有找到相关文章

最新更新