如何链接到:id页rails



一直在试图找到一个更好的方法来链接到包含/:id的页面。因为我现在做的方法是有效的,但如果我改变一些东西,它很容易被破坏。

目前我有两个这样的例子。一个链接到你的个人资料,这样做:

<li><%= link_to "Your profile", root_url + "users/#{current_user.id}"  %></li>

和另一个:

<%= link_to "Apply now", root_url + "answers/#{f.id}" %>

我如何使它不需要依赖于手动更改。在我的rake路由我不能写'answers_path/#{f。例如Id},因为它没有显示任何路径。

我该怎么做呢?我为这两个设置的路由目前是:

match '/answers/:id',     to: 'answers#show',                         via: 'get'
match '/users/:id',       to: 'users#show',                           via: 'get'

不使用match,而是定义resources路由

resources :users, :answers

现在你可以使用:

<%= link_to 'Your Profile', current_user %>
<%= link_to 'Apply Now', f %>

您可以在这里了解更多关于rails路径帮助器和资源路由的信息- http://guides.rubyonrails.org/routing.html

同样,如果您不需要所有的CRUD操作,您可以使用only:

resources :users, :answers, only: :show

下面应该可以帮你。

<li><%= link_to "Your profile", user_path(current_user.id) %></li>

<%= link_to "Apply now", answer_path(f.id) %>

但是,我建议您查看以下Rails指南:http://guides.rubyonrails.org/routing.html

最新更新