在成功的create方法上添加URL参数

时间:2015-05-13 11:23:20

标签: ruby-on-rails ruby-on-rails-3 parameters ruby-on-rails-3.2

案例:

当我提交位于/jobs/test-lune-f/apply?locale=fr的表单时,create方法会启动并进行一些检查。

代码将通过整个create方法运行并转到create.html.erb页面或return render :index

问题:

问题是create.html.erb/jobs/test-lune-f/apply?locale=fr页面具有相同的网址index.html.erb

问题:

当create方法完全运行时,是否可以使用像#success这样的URL参数?

我尝试通过在form_for中添加:anchor => "success"来做到这一点,但是当方法通过return render :index返回时,它也会被添加。

目标:

在表单get成功提交后能够添加URL参数。

CODE:

路线:

  resources :jobs, :only => [:show, :index, :create] do
    resources :apply, :only => [:index, :create]
    resources :share, :only => [:index, :create]
  end

  resources :apply, :only => :index do
    collection { get 'add'}
  end

2 个答案:

答案 0 :(得分:0)

您必须在呈现页面之前更改位置:

location=location()+(location().include?'?' '&' : '?') +"status=success"

有关api location的更多信息。

答案 1 :(得分:0)

我正在尝试使用Rails,但正如所提到的,最简单的解决方法是在jQuery中。

<script>

    $(document).ready(function() {
      location.hash = "success";
    });

</script>