繁体   English   中英

Ruby on Rails 3.2.1路由

[英]Ruby on Rails 3.2.1 Routes

刚刚开始将我的第二个应用程序从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代码中,它给了我一个URL“http:// localhost: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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM