Module: RenderAsync::ViewHelper
- Defined in:
- lib/render_async/view_helper.rb
Instance Method Summary collapse
- #render_async(path, options = {}, &placeholder) ⇒ Object
- #render_async_cache(path, options = {}, &placeholder) ⇒ Object
- #render_async_cache_key(path) ⇒ Object
Instance Method Details
#render_async(path, options = {}, &placeholder) ⇒ Object
20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 |
# File 'lib/render_async/view_helper.rb', line 20 def render_async(path, = {}, &placeholder) html_element_name = .delete(:html_element_name) || 'div' container_id = "render_async_#{SecureRandom.hex(5)}#{Time.now.to_i}" event_name = .delete(:event_name) placeholder = capture(&placeholder) if block_given? method = .delete(:method) || 'GET' data = .delete(:data) headers = .delete(:headers) || {} render 'render_async/render_async', html_element_name: html_element_name, container_id: container_id, path: path, html_options: , event_name: event_name, placeholder: placeholder, method: method, data: data, headers: headers end |
#render_async_cache(path, options = {}, &placeholder) ⇒ Object
10 11 12 13 14 15 16 17 18 |
# File 'lib/render_async/view_helper.rb', line 10 def render_async_cache(path, = {}, &placeholder) cached_view = Rails.cache.read("views/#{render_async_cache_key(path)}") if cached_view.present? render :html => cached_view.html_safe else render_async(path, , &placeholder) end end |
#render_async_cache_key(path) ⇒ Object
6 7 8 |
# File 'lib/render_async/view_helper.rb', line 6 def render_async_cache_key(path) "render_async_#{path}" end |