rails5 / params.merge 导致有关不安全的错误
rails5 / params.merge causes errors about being 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)
但这会删除现有的请求参数,我相信这不是您想要的。
具有以下语法: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)
但这会删除现有的请求参数,我相信这不是您想要的。