1

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

link_to params.to_h.merge(query_hash), options do
  raw("#{title} " + fa_icon(icon))
end

为了解决这个问题,我尝试了这里提到的不起作用的事情

 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

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

4

1 回答 1

3

我知道这是一个迟到的回应,但我遇到了类似的问题并找到了解决方案,因此它可能对其他人有所帮助。

我在 Active Admin 中传递 ransack 参数的链接也遇到了类似的问题。我的链接看起来与您的相似:

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
于 2018-12-12T11:41:47.213 回答