刚开始将我的第二个应用程序从rails 2.3.11转换为3.2.1 - 我遇到了一个问题,但我的路线已经出现..
这是我的旧路线档案:
map.namespace(:admin) do |admin|
admin.resources :products, :has_many => [:categories, :product_versions, :extra_documents]
admin.resources :product_versions, :has_many => [:sub_versions]
admin.resources :categories, :has_many => [:sub_categories, :sub_emanuals, :sub_tests]
end
这就是我现在在rails3 routes.rb文件中的内容:
namespace :admin do
resources :products
resources :product_versions
resources :categories
end
这似乎在我看来引起了问题:
<%= link_to "Edit Categories", admin_product_categories_url(product) %>
因为在rails 3中不再理解这是什么,我在这个应用程序中使用这种格式A LOT。 在看到“rake routes”的输出后我尝试解决这个问题,并且我使用了:
<%= link_to "Edit Categories", admin_categories_url(product) %>
然而,在提供的html代码中,它给了我一个“http:// localhost:3000 / admin / categories.21”的URL - 请参阅.21 not / 21
请问其他人吗?
提前致谢, 安德鲁
答案 0 :(得分:2)
应该是
admin_category_url(category)
即。一个类别
话虽如此,
你不想要:
admin_product_category(product, category)
在这种情况下,您需要嵌套路线:
namespace :admin do
resources :products do
resources :categories
end
resources :product_versions
end