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

时间:2017-05-23 18:22:59

标签: parameters ruby-on-rails-5 kaminari wice-grid

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

但现在我不能回去,因为我正在进行网络应用开发。

问题:

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

customers_controller.rb

b2

index.html.erb

class CustomersController < ApplicationController
  layout "themeLayout"
  before_action :permit_params

  def index
    @grid = initialize_grid(Customer)
  end

  def permit_params
    params.permit!
  end
end

日志文件

  

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

     

启用 <%= 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 %> 以尊重参数过滤,这是新应用程序中的默认设置。

     

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

     

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

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

根据我的主要调试,我发现params的值为null,导致出现此错误。

任何指针都将受到赞赏......

1 个答案:

答案 0 :(得分:6)

按照警告添加

flex:1 1 auto;

到config / application.rb

此后.to_hash将只转换允许的参数。