Я использую Администрирование 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
вместо этого? (чего я не хочу)