Ошибка недопустимого параметра при добавлении параметра запроса при использовании администрирования - PullRequest
2 голосов
/ 15 июня 2019

Я использую Администрирование v0.11.0 с текстовым полем search_term, это работает совершенно нормально, и теперь я хочу добавить параметр запроса my_search_condition_flag, который является логическим значением флага, который влияет на условие поиска.

В моем index действии контроллера, Я добавил следующую строку, чтобы запросы с этим параметром проходили проверку Strong Parameters.

params.permit(:search, :my_search_condition_flag)

Остальная часть кода в действии index просто копируется из ApplicationController.rb из администрирования.

Когда я делаю HTTP-запрос с параметром запроса my_search_condition_flag=1, мое index действие обрабатывается просто отлично, но HTTP-ответ возвращает следующую ошибку:

ActionController::UnpermittedParameters in Admin::MyPage#index
Showing /usr/local/bundle/gems/administrate-0.11.0/app/views/administrate/application/_search.html.erb where line #19 raised:

found unpermitted parameter: :my_search_condition_flag

, который возникает из метода рендеринга текстового поля search_term внутри index.html.erb

  <% if show_search_bar %>
    <%= render(
      "search",
      search_term: search_term,
      resource_name: display_resource_name(page.resource_name)
    ) %>
  <% end %>

Я уже попробовал следующее в своем классе Dashboard, представил здесь :

 # -- Overwrite the method to add one more to the permit list
 def permitted_attributes
   super + [:my_search_condition_flag]  # -- Adding our now removed field to thepermitted list
 end

Как я могу сказать Администратору разрешить параметр, который я хочу добавить?

Должен ли я использовать запрос body вместо этого? (чего я не хочу)

...