有这个语法:url_for(params.merge(locale: :en))
Rails 5 阻止了它,抱怨以下内容:Generating an URL from non sanitized request parameters is insecure!
获得相同结果的最新适当语法可能是什么?
有这个语法:url_for(params.merge(locale: :en))
Rails 5 阻止了它,抱怨以下内容:Generating an URL from non sanitized request parameters is insecure!
获得相同结果的最新适当语法可能是什么?
您可以将本地合并到url_for
:
url_for(locale: :en)
它将重用当前请求参数来生成最终 URL。
您可以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)
但这会丢弃现有的请求参数,我相信这不是您想要的。