在 Rails 中为每个 GET 请求附加一个参数

Attaching a parameter to each GET Request in Rails

看看是否有一个优雅的解决方案,可以根据 Rails 应用程序中的会话值向每个 GET 请求添加参数。 (4.2.6 如果需要)

示例:

很想听听对此的任何想法 - 谢谢!

redirect_to 会是一个解决方案吗?请看下面的代码:

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

redirect_to redirected_url

希望对您有所帮助....

如果您希望生成的指向该路径的 URL 在生成时始终包含特定参数,您可以为该特定路由编写自己的 url_forlink_to 帮助程序,或者如果操作或控制器名称符合某些条件,则覆盖 default_url_options 并设置此参数:

class ApplicationController < ActionController::Base
  def default_url_options(options = {})
    if controller_name == 'my_controller'
      options[:test] = session[:test]
    end

    options
  end
end

路由可以生成为:

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

它将重定向到:

example.com/random_path?test=123

其中测试 = 会话[:测试]