Ruby on rails 在rails 4中使用通配符路由和url_帮助程序

Ruby 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

我已经设置了一个通配符路由,但是我无法让内置的帮助程序生成正确的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(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
是,非常感谢