将成员或别名添加到 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

这应该调用应用控制器的创建操作。

除了申请,您当然可以使用任何您想要的名称。