ActionController :: UnfilteredParameters - невозможно преобразовать недопустимые параметры в хеш - Rails 5.1.6 - PullRequest
0 голосов
/ 15 мая 2018

Я получаю эту ошибку в следующем коде

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

Но у меня ничего не работает, никто не сталкивался с такой ошибкой. Любая помощь приветствуется.

1 Ответ

0 голосов
/ 12 декабря 2018

Я знаю, что это поздний ответ, но у меня была похожая проблема, и я нашел решение, чтобы оно могло быть полезным для других.

У меня была похожая проблема со ссылкой, по которой я передавал параметры Ransack в 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
...