如何在使用wice_grid gem for rails 5时启用`raise_on_unfiltered_pa​​rameters`来尊重参数过滤

Pri*_*shi 5 parameters kaminari wice-grid ruby-on-rails-5

首先,我知道wice_grid gem目前还不支持rails 5.因此,网络上已经出现了一些问题.

但现在我不能回去,因为我正在进行Web应用程序开发.

问题:

我想要一个在我的应用程序中具有过滤器属性的简单数据网格.以下是我的代码:

customers_controller.rb

class CustomersController < ApplicationController
  layout "themeLayout"
  before_action :permit_params

  def index
    @grid = initialize_grid(Customer)
  end

  def permit_params
    params.permit!
  end
end
Run Code Online (Sandbox Code Playgroud)

index.html.erb

   <%= grid(@grid) do |g|

    g.column name: 'Id' do |task|
      task.id
    end

    g.column name: 'Name', attribute: 'name'  do |task|
      task.name
    end

    g.column name: 'Company Name', attribute: 'company_name' do |task|
      task.company_name
    end

end %>
Run Code Online (Sandbox Code Playgroud)

日志文件

to_hash意外地忽略了参数过滤,并将更改为在Rails 5.1中强制执行它.

启用raise_on_unfiltered_parameters以尊重参数筛选,这是新应用程序中的默认设置.

对于现有的已弃用行为,请调用#to_unsafe_h.

弃用警告:不推荐使用num_pages,将在Kaminari 1.0中删除.请改用total_pages.

上面的代码根据要求生成数据网格,但无法显示过滤结果.

根据我的主要调试,我发现params具有null值,从而导致此错误.

任何指针将不胜感激......

小智 6

按照警告添加

config.action_controller.raise_on_unfiltered_parameters = true

to config/application.rb

在此之后.to_hash将仅转换允许的参数.