如何链接到:id pages rails

时间:2014-06-23 19:19:12

标签: ruby-on-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'

2 个答案:

答案 0 :(得分:0)

我不会使用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

答案 1 :(得分:-1)

以下内容应该为您完成。

<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