具有以下语法:url_for(params.merge(locale: :en))
Rails 5阻止它,抱怨以下内容:Generating an URL from non sanitized request parameters is insecure!
什么是最新的适当语法,以获得相同类型的结果?
答案 0 :(得分:1)
您可以在url_for
中合并本地:
url_for(locale: :en)
它将重用当前的请求参数来生成最终的URL。
答案 1 :(得分:0)
您可以通过以下方式覆盖ActionController::Parameter
安全性
url_for(params.to_unsafe_h.merge(locale: :en))
我通常为此创建一个助手
def params_plus(additional_params)
params.to_unsafe_h.merge(additional_params)
end
然后像使用它
url_for(params_plus(locale: :en))
其他答案建议url_for(locale: :en)
,但这会删除现有的请求参数,这不是我想要的。