Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 没有路径映射到控制器的我的操作_Ruby On Rails - Fatal编程技术网

Ruby on rails 没有路径映射到控制器的我的操作

Ruby on rails 没有路径映射到控制器的我的操作,ruby-on-rails,Ruby On Rails,我正在从事一个遗留Rails v2项目 我的项目文件夹结构: MyProj - app/ - controllers/ - api/ - my_service/ - products_controller.rb - manufactures_controller.rb 在products\u controller.rb中,我有一个方法(action)def check\u amount 在my routes.rb中,我定义

我正在从事一个遗留Rails v2项目

我的项目文件夹结构:

MyProj
 - app/
   - controllers/
     - api/
       - my_service/
          - products_controller.rb
          - manufactures_controller.rb
在products\u controller.rb中,我有一个方法(action)
def check\u amount

在my routes.rb中,我定义了:

api.namespace :my_service do |my_service|
      my_service.resources :products, :only =>[ :check_amount ]do |product|
        product.resources :manufactures, :only => [:create]
      end
    end
当我运行rake routs时,我只能看到:

api_my_service_product_manufactures POST    /api/my_service/products/:product_id/manufactures(.:format)                   {:controller=>"api/my_service/products", :action=>"create"}

尽管我在routes.rb配置中明确提到了我的产品的check\u amount操作,但为什么没有路由/路径映射到它

因为
only
指令仅用于
RESTful
操作
(索引|创建|更新|删除)

您可以使用
成员
集合

  • 使用
    会员
    :您将拥有
    /products/:id/支票金额
    路径
  • 使用
    收款
    :您将拥有
    /products/check\u amount
    路径

因为
only
指令仅用于
RESTful
操作
(索引|创建|更新|删除)

您可以使用
成员
集合

  • 使用
    会员
    :您将拥有
    /products/:id/支票金额
    路径
  • 使用
    收款
    :您将拥有
    /products/check\u amount
    路径
api.namespace :my_service do |my_service|
  my_service.resources :products, :only =>[] do |product|
    get :check_amount, :on => :member
    product.resources :manufactures, :only => [:create]
      end
    end
  end
end