出现这个问题是因为在使用AjaxDatatablesRails:Module的时候缺少配置。需要在config/initializers目录下创建一个名为ajax_datatables_rails.rb的文件,并加入以下代码:
AjaxDatatablesRails.configure do |config|
#关于dataProvider的说明,在下面给出示例代码
#config.data_source = ExampleDataSource.new
#设置db_adapter
config.db_adapter = :pg # 例如: :pg , :mysql2 , etc...
#这里是对于pagination组件的设置,这里使用的是kaminari
config.paging_type = :full_numbers
config.page_length = 20
end
其中ExampleDataSource就是数据源,你可以自己定义数据源或者使用其他配合rails的数据源。
class ExampleDataSource
def initialize(model)
@model = model
end
def get_raw_records
@model.all
end
def fetch_records
@model.all
end
def as_json(options = {})
{
data: data,
recordsTotal: total_records,
recordsFiltered: total_filtered_records
}
end
private
def data
# build your records array
end
def filtered_records
# your filtered records
end
def total_records
# count your records
end
def total_filtered_records
# count your filtered records
end
end
在修改完以上代码后,重新启动rails服务即可。