我在以下代码中遇到此错误
link_to params.to_h.merge(query_hash), options do
raw("#{title} " + fa_icon(icon))
end
为了解决这个问题,我尝试了以下提到的不起作用的方法 here
request.parameters.merge(query_hash)
还有
safe_params = params.permit(params.keys.flatten)
link_to safe_params.to_h.merge(query_hash), options do
raw("#{title} " + fa_icon(icon))
end
但是对我来说没有任何作用,有没有人经历过这样的错误。 如有任何帮助,我们将不胜感激。
最佳答案
我知道这是一个迟到的回复,但我遇到了类似的问题并找到了解决方案,因此可能对其他人有帮助。
我在 Active Admin 中传递搜查参数的链接中遇到了类似的问题。我的链接看起来与您的类似:
link_to('PRIMARY EMAILS ONLY', export_primary_emails_admin_admin_areas_path(format: "csv", params: params[:q]))
即使我按照文档设置了强参数,我仍然遇到相同的错误。我可以让它工作的唯一方法是强制允许在 link_to 之前直接使用该参数。
params[:q].permit!
它实际上做与强参数相同的事情,允许“q”参数中的任何内容。
ActiveAdmin.register AdminArea do
permit_params q: []
end
关于ruby-on-rails - ActionController::UnfilteredParameters - 无法将未经允许的参数转换为散列 - Rails 5.1.6,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50339289/