ActionController :: UnfilteredParameters - 无法将未经许可的参数转换为哈希 - Rails 5.1.6

时间:2018-05-14 21:29:50

标签: ruby-on-rails ruby rails-5.1.6

我在以下代码中收到此错误

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

但是没有什么对我有用,有人经历过这样的错误。 任何帮助表示赞赏。

1 个答案:

答案 0 :(得分:0)

我知道这是一个较晚的答复,但是我遇到了类似的问题,并且找到了解决方案,因此对其他人可能会有帮助。

我在Active Admin中传递Rasack参数的链接遇到类似的问题。我的链接看起来类似于您的链接:

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