如何为命名空间资源路由附加操作



在我的routes.rb中,我有这个来添加"设置"作为保险的附加操作:

namespace :modules do
    namespace :insurance do
        resources :insurances do
            member do
                get :settings
            end
        end
    end
end

根据"耙式路线",这给出了以下路径:

settings_modules_insurance_insurance_path

但当我在浏览器中访问该路径时,它会返回错误:

No route matches {:action=>"settings", :controller=>"modules/insurance/insurances"}

这是耙式路线的全部输出:

settings_modules_insurance_insurance GET    /modules/insurance/insurances/:id/settings(.:format) {:action=>"settings", :controller=>"modules/insurance/insurances"}

我该怎么办?

您已经在成员上设置了新路线,因此您必须通过保险的id:

settings_modules_insurance_insurance_path(@insurance)

控制器的全名应该是Modules::Insurance::InsInsurancesController,对吗?

最新更新