Ruby on Rails的3.2.1路线
刚开始转换我的第二个应用程序,从轨2.3.11到3.2.1 - 不过,我已经打了一个问题,我的路线..Ruby on Rails的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中不再理解这是什么,我在这个应用程序中使用这种格式很多。 我试图解决此看到“耙路线”的输出后,我用:
<%= link_to "Edit Categories", admin_categories_url(product) %>
然而,在HTML代码中担任了它给我的“HTTP网址://本地主机:3000/admin/categories.21“ - 请参阅.21 not/21
这个人可以请其他人吗?
由于提前, 安德鲁
应该
admin_category_url(category)
即。一类
话虽如此,
难道你不想要的:
admin_product_category(product, category)
在这种情况下,你需要你的窝路线:
namespace :admin do
resources :products do
resources :categories
end
resources :product_versions
end
太棒了!我将使用嵌套的路线,因为我确实需要admin_product_category(产品,类别) - 但是,当我把这些放在适当的位置时,我得到这个错误“The action'show'找不到Admin :: ProductsController”任何想法? – 2012-02-06 19:16:20
admin/products目录中至少需要显示一个show view文件。看起来产品控制器存在,因此它可能是视图文件;该行为并不是严格要求的,我假设你没有。 – mark 2012-02-06 20:15:39
这似乎是我的索引行为的一个问题,我让它做一个redirect_to:action =>'list'交换这个渲染似乎可以解决问题 – 2012-02-06 20:25:55
什么 “耙路线” 说? – 2012-02-06 18:47:34