从URL中删除参数

时间:2016-01-04 21:42:55

标签: ruby-on-rails url parameter-passing link-to

我的Rails应用程序中有一个link_to方法:

link_to t('edit'), edit_building_path(@building, :hidden_action => params[:action])

如何从网址中删除hidden_​​action?

目前网址如下:

http://localhost:3000/buildings/2/edit?hidden_action=new

我的问题是我需要知道用户从哪个页面访问此link_to。

1 个答案:

答案 0 :(得分:2)

在rails helper中,它取决于你

def edit_the_building_url(building, you_want_the_params_or_not)
  if you_want_the_params_or_not
    edit_building_path(building, :hidden_action => params[:action])
  else
    edit_building_path(building)
  end
end

然后在您的控制器中

link_to t('edit'), edit_the_building_url(@building, true)

link_to t('edit'), edit_the_building_url(@building, false)

如果以上并不能让您获利,只需

url = url.chomp("?hidden_action=#{params[:action]}")