我正在使用ajax-datatables-rails gem在服务器端处理中使用datatables jquery插件。
我有一个表格和一个下面的表格,用于过滤表格中未显示的数据。
这是我的index.html.erb文件中的表:
<table id='dttb' role='datatable' class="table table-striped table-bordered" data-source="<%= datatable_users_path(format: :json) %>">
</table>
这也是索引中的表格:
<%= form_tag(datatable_users_path, method: :get) do %>
<%= submit_tag 'Apply filters' %>
我的控制器正在像这样渲染json:
respond_to do |format|
format.html { render :layout => 'application' } # index.html.erb
format.xml { render :xml => @users }
format.json { render json: UserDatatable.new(params) }
end
和我的user_datatable.rb以此获得其raw_record:
def get_raw_records
@users = User.all
if(@id.present?)
@users = @users.id(@id)
end
return @users
end
问题是最后一个文件中的此@id。这应该是我的表单提供给控制器的params [:id],我想在范围内使用它来过滤User.all,以便该表仅显示通过范围的条目。 / p>
我不明白如何将表单获取的数据传递给user_datatable.rb
在宝石github上,有一种方法可以执行此操作,但是它似乎无法与我在控制器中获取的表单数据一起使用。
你们对如何执行此操作有任何想法吗?