在Rails 3中将成员或别名添加到现有路径

时间:2015-01-21 15:35:07

标签: ruby-on-rails ruby-on-rails-3 rails-routing

对于工作 - >应用操作我想“别名”“创建”操作。

在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"之间没有区别。

1 个答案:

答案 0 :(得分:1)

嗯,那么使用命名路径作为路径

在routes.rb

的末尾添加一行
post '/jobs/:job_id/apply/completed', to: apply#create as: apply_job

然后在你的new.html.haml

form_for :job, apply_job_path

这应该调用apply控制器的create动作。

您可以使用任何您想要的名称,而不是申请。