【发布时间】:2019-06-15 05:11:23
【问题描述】:
我正在使用 Administrate v0.11.0 和 search_term 文本框,
它工作得很好,
现在我想添加一个请求参数my_search_condition_flag,它是一个影响搜索条件的布尔标志值。
在我的index 控制器操作中,
我添加了以下行,以便带有此参数的请求通过Strong Parameters 验证。
params.permit(:search, :my_search_condition_flag)
index 操作中的其余代码只是从 Administrate 的ApplicationController.rb 复制而来。
当我使用请求参数 my_search_condition_flag=1 发出 HTTP 请求时,
我的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
由 index.html.erb 中的 search_term 文本框的渲染方法引发
<% if show_search_bar %>
<%= render(
"search",
search_term: search_term,
resource_name: display_resource_name(page.resource_name)
) %>
<% end %>
我已经在我的仪表板类中尝试了以下内容,介绍了here:
# -- 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 吗? (我不想要)
【问题讨论】:
标签: ruby-on-rails rails-administrate administrate