我正在使用以下代码来映射我的产品控制器的资源:
map.namespace :admin do |admin|
admin.resources :products
end
在我看来我正在使用
link_to 'Edit', edit_admin_product_path(product)
导致URL / admin / products / 1 / edit
当我点击我正在获取的链接时
未知行动 没有任何行动回复1
所以我猜它没有正确地将它映射到编辑动作。 我不知道该怎么做。
答案 0 :(得分:1)
路由有效,否则当您尝试创建链接时它会被炸毁。您的产品控制器是否有编辑操作?
通常当我在路由中放置命名空间时,它会跟随我的控制器和视图。例如,完整路径将是
/controllers/admin/products_controller.rb
/views/admin/products/edit.html.erb
您也可以在控制器中添加命名空间:
class Admin::ProductsController < ApplicationController
答案 1 :(得分:1)
你的路线文件中有这些行吗?
map.connect ':controller/:action/:id'
map.connect ':controller/:action/:id.:format'
如果是这样,请确保它们低于您的资源路线。这些行应始终位于routes.rb
的底部附近,因为它们非常通用。路线越具体,它应该越高。