在Rails中将参数附加到每个GET请求

时间:2018-12-20 01:42:12

标签: ruby-on-rails ruby ruby-on-rails-4

查看是否存在一种优雅的解决方案,用于基于Rails应用程序中的会话值向每个GET请求添加参数。 (如果需要,则为4.2.6)

示例:

  • 我们有一个会话变量session[:test] = 123

  • 用户向example.com/random_path

  • 发出请求
  • 我们希望请求始终附加参数"?test=#{session[:test]}"

  • 因此,该用户将被路由到example.com/random_path?test=123

喜欢听到任何想法-谢谢!

3 个答案:

答案 0 :(得分:1)

如果您希望生成的URL总是在生成时在其中包含特定参数,则可以为该特定路由编写自己的url_forlink_to助手,或覆盖{ {1}},如果操作或控制器名称符合某些条件,则设置此参数:

default_url_options

答案 1 :(得分:0)

redirect_to是否可以解决?请参见下面的代码:

  

redirected_url =“ https://foo.com?test=# {session [:test]}”

     

redirect_to redirected_url

希望有帮助。...

答案 2 :(得分:0)

路线可以生成为:

random_path(random, test: session[:test]) 

它将重定向到:

example.com/random_path?test=123

其中test =会话[:test]