9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/data_table/base.rb', line 9
def for_data_table controller, fields, search_fields=nil, explicit_block=nil, &implicit_block
params = Hash[*controller.params.map {|key, value| [key.to_s.downcase.to_sym, value] }.flatten]
search_fields ||= fields
block = (explicit_block or implicit_block)
objects = _find_objects params, fields, search_fields
matching_count = objects.respond_to?(:total_entries) ? objects.total_entries : _matching_count(params, search_fields)
{:sEcho => params[:secho].to_i,
:iTotalRecords => self.count,
:iTotalDisplayRecords => matching_count,
:aaData => _yield_and_render_array(controller, objects, block)
}.to_json.html_safe
end
|