rails path helper不起作用

时间:2013-06-13 16:06:13

标签: ruby-on-rails routes

你好我在我的测试应用程序上学习Rails,我有这个代码

<% @categories.each do |category| %>
  <tr>
    <td><%= category.name %></td>
    <td><%= link_to 'Show', backend_category %></td>
    <td><%= link_to 'Edit', edit_backend_categories(category) %></td>
    <td><%= link_to 'Destroy', backend_category, method: :delete, data: { confirm: 'Are you sure?' } %></td>
 </tr>
<% end %>

和Rake路线向我展示了这个

           home_index GET    /home/index(.:format)                  home#index
                 root        /                                      home#index
              contact        /contact(.:format)                     home#contact
         backend_root        /backend(.:format)                     backend/admin#index
   backend_categories GET    /backend/categories(.:format)          backend/categories#index
                      POST   /backend/categories(.:format)          backend/categories#create
 new_backend_category GET    /backend/categories/new(.:format)      backend/categories#new
edit_backend_category GET    /backend/categories/:id/edit(.:format) backend/categories#edit
     backend_category GET    /backend/categories/:id(.:format)      backend/categories#show
                      PUT    /backend/categories/:id(.:format)      backend/categories#update
                      DELETE /backend/categories/:id(.:format)      backend/categories#destroy

我得到backend_category不存在的错误

这是图像 http://www.nahraj-obrazek.cz/?di=213711395092

怎么了?谢谢

2 个答案:

答案 0 :(得分:1)

您必须将_path添加到link_to帮助网址,如此

<% @categories.each do |category| %>
  <tr>
    <td><%= category.name %></td>
    <td><%= link_to 'Show', backend_category_path(category) %></td>
    <td><%= link_to 'Edit', edit_backend_category_path(category) %></td>
    <td><%= link_to 'Destroy', backend_category_path(category), method: :delete, data: { confirm: 'Are you sure?' } %></td>
 </tr>
<% end %>

答案 1 :(得分:1)

根据Luis的回答,任何show路径都需要对对象的引用。所以我认为它应该是

<td><%= link_to 'Show', backend_category_path category %></td>

也可以写成:

<td><%= link_to 'Show', category %></td>