奇怪的rails路由和ActionView :: Template问题

时间:2010-09-24 13:37:32

标签: ruby-on-rails routing

我的路线中有以下内容.rb:

namespace "admin" do
  resources :categories
end

resources :categories

一切顺利。但是,当我删除或注释掉:“资源:类别”部分

namespace "admin" do
  resources :categories
end

#resources :categories

我得到了:

  

ActionView :: Template :: Error(#<#:0x103fcd4c0>的未定义方法`category_path'):

访问/ admin / categories

?? 谢谢

这是索引视图:

<% @admin_categories.each do |admin_category| %>
  <tr>
    <td><%= link_to 'Show', admin_category %></td>
    <td><%= link_to 'Edit', edit_admin_category_path(admin_category) %></td>
    <td><%= link_to 'Destroy', admin_category, :confirm => 'Are you sure?', :method =>     :delete %></td>
  </tr>
 <% end %>
</table>

<br />

 <%= link_to 'New Category', new_admin_category_path %>

和视图和控制器由:

生成
rails g scaffold_controller Admin/Category

所以这是一个错误,或者我正在做一些完全错误的事情

2 个答案:

答案 0 :(得分:2)

尝试: admin_category_path(@category)[:admin, @category]

您可以查看可用的路线:

rake routes

第二种快捷方式可以这种方式使用:

form_for [:admin, @category]

link_to 'Show', [:admin, @category]

答案 1 :(得分:1)

你很可能有一个

link_to 'category', category_path(category)

link_to 'category', category

在您的管理/类别视图中,或在此视图中部分呈现。正如gertas所建议的那样,请将这些链接替换为link_to 'category', [:admin, @category]或link_to 'category', admin_category_path(category)