Ruby on rails 在rails 4中使用通配符路由和url_帮助程序
我已经设置了一个通配符路由,但是我无法让内置的帮助程序生成正确的urlRuby on rails 在rails 4中使用通配符路由和url_帮助程序,ruby-on-rails,routes,wildcard,form-helpers,Ruby On Rails,Routes,Wildcard,Form Helpers,我已经设置了一个通配符路由,但是我无法让内置的帮助程序生成正确的url routes.rb resources :projects do patch 'do/*action', to: 'projects#do', as: 'do' end rake路由 project_do PATCH /projects/:project_id/do/*action(.:format) projects#do 这看起来不错,但是我的助手project\u do\u path(pr
routes.rb
resources :projects do
patch 'do/*action', to: 'projects#do', as: 'do'
end
rake路由
project_do PATCH /projects/:project_id/do/*action(.:format) projects#do
这看起来不错,但是我的助手project\u do\u path(project)
生成/projects/1234/do/do
1) 为什么我要摆脱第二个do
2) 我可以将其配置为在助手中包含该操作吗
我读过http://guides.rubyonrails.org/routing.html#route-通配符和通配符段
,但它没有在通配符部分讨论帮助程序
感谢并向您致以最诚挚的问候有以下路线
resources :blog, only: [:index, :show] do
patch 'do/*do_action', to: 'rsvps#index', as: :do
end
给我以下网址
blog_do PATCH /blog/:blog_id/do/*do_action(.:format) rsvps#index
blog_index GET /blog(.:format) blog#index
blog GET /blog/:id(.:format) blog#show
blog\u do\u path
现在需要两个参数
blog_do_path(project, 'asd')
然后在控制器操作中,
params[:do_action]
将'asd'
更改操作
为不同的名称,因为这等同于参数[:action]
。请尝试patch'do/*do_action'
谢谢您的建议-helper仍然会生成../do/do
,这应该可以工作,但您需要传递第二个参数project\u do\u path(project,'asd')
然后params[:do\u action]
将被设置为asd
是,非常感谢