Class: LazyRender::LazyloadController

Inherits:
ApplicationController show all
Defined in:
app/controllers/lazy_render/lazyload_controller.rb

Instance Method Summary collapse

Instance Method Details

#loadObject



7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'app/controllers/lazy_render/lazyload_controller.rb', line 7

def load
  return unless params['lazy_renders']
  result = []
  @data  = {}
  params['lazy_renders'].values.select { |v| v['name'] && respond_to?(v['name']) }.each do |v|
    data = {
        name:   v['name'],
        locals: v['locals'] || {}
    }
    data[:locals].empty? ? send(data[:name]) : send(data[:name], data[:locals])
    # TODO: Add Benchmark time
    html = render_to_string 'lazy_render/' + data[:name].gsub('__', '/'), layout: false, locals: { data: @data || {} }
    result << html
  end

  render json: result
end