RoR资源:没有行动响应1

时间:2009-08-17 15:01:43

标签: ruby-on-rails

我正在使用以下代码来映射我的产品控制器的资源:


     map.namespace :admin do |admin|
       admin.resources :products
     end

在我看来我正在使用


link_to 'Edit', edit_admin_product_path(product)

导致URL / admin / products / 1 / edit

当我点击我正在获取的链接时

未知行动 没有任何行动回复1

所以我猜它没有正确地将它映射到编辑动作。 我不知道该怎么做。

2 个答案:

答案 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的底部附近,因为它们非常通用。路线越具体,它应该越高。