将成员或别名添加到 Rails 中的现有路径 3
Adding member or alias to existing path in Rails 3
对于作业 -> 应用我想要的操作 "alias" "create" 操作。
在rake路线中它看起来像这样:
https://gist.github.com/YOUConsulting/19b404759757898a6f4f#file-rake_routes-rb
我试过这样做,但我认为这不是我想要的:
resources :jobs, :only => [:show, :index, :create] do
resources :apply, :only => [:index, :create] do
member do
post :completed
end
end
resources :share, :only => [:index, :create]
end
用人类的话来说:
当用户提交位于 "/jobs/<job_id_here>/apply"
的页面(索引视图)时,结果页面(创建视图)应该是 "/jobs/<job_id_here>/apply/completed"
而不是 "/jobs/<job_id_here>/apply/
" .
原因:
当我们通过 Google Analytics 跟踪用户时,我们无法看到他们是否成功提交了表单,因为 "/apply"
和 "/apply"
之间没有区别。
嗯,使用命名路由作为路径怎么样
在 routes.rb
末尾添加一行
post '/jobs/:job_id/apply/completed', to: apply#create as: apply_job
然后在你的 new.html.haml
form_for :job, apply_job_path
这应该调用应用控制器的创建操作。
除了申请,您当然可以使用任何您想要的名称。
对于作业 -> 应用我想要的操作 "alias" "create" 操作。
在rake路线中它看起来像这样:
https://gist.github.com/YOUConsulting/19b404759757898a6f4f#file-rake_routes-rb
我试过这样做,但我认为这不是我想要的:
resources :jobs, :only => [:show, :index, :create] do
resources :apply, :only => [:index, :create] do
member do
post :completed
end
end
resources :share, :only => [:index, :create]
end
用人类的话来说:
当用户提交位于 "/jobs/<job_id_here>/apply"
的页面(索引视图)时,结果页面(创建视图)应该是 "/jobs/<job_id_here>/apply/completed"
而不是 "/jobs/<job_id_here>/apply/
" .
原因:
当我们通过 Google Analytics 跟踪用户时,我们无法看到他们是否成功提交了表单,因为 "/apply"
和 "/apply"
之间没有区别。
嗯,使用命名路由作为路径怎么样
在 routes.rb
末尾添加一行post '/jobs/:job_id/apply/completed', to: apply#create as: apply_job
然后在你的 new.html.haml
form_for :job, apply_job_path
这应该调用应用控制器的创建操作。
除了申请,您当然可以使用任何您想要的名称。