Skip to content

Commit

Permalink
Generate nested elements in a fast way
Browse files Browse the repository at this point in the history
By using the render collection short cut Rails uses template caching to speed up rendering the nested elements collection.
  • Loading branch information
tvdeyen committed Mar 28, 2019
1 parent cafcd04 commit db0b523
Show file tree
Hide file tree
Showing 6 changed files with 6 additions and 16 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,7 @@
<%- end -%>
<%- end -%>
<%- if @element['nestable_elements'].present? -%>
<%% <%= @element_name %>_view.nested_elements.available.each do |nested_element| %>
<%%= render_element(nested_element) %>
<%% end %>
<%%= render <%= @element_name %>_view.nested_elements.available %>
<%- end -%>
<%%- end -%>
<%%- end -%>
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,5 @@
<%- end -%>
<%- end -%>
<%- if @element['nestable_elements'].present? -%>
- <%= @element_name -%>_view.nested_elements.available.each do |nested_element|
= render_element(nested_element)
= render <%= @element_name -%>_view.nested_elements.available
<%- end -%>
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,5 @@
<%- end -%>
<%- end -%>
<%- if @element['nestable_elements'].present? -%>
- <%= @element_name -%>_view.nested_elements.available.each do |nested_element|
= render_element(nested_element)
= render <%= @element_name -%>_view.nested_elements.available
<%- end -%>
4 changes: 1 addition & 3 deletions spec/dummy/app/views/alchemy/elements/_gallery_view.html.erb
Original file line number Diff line number Diff line change
@@ -1,9 +1,7 @@
<%- cache(gallery_view) do -%>
<%= element_view_for(gallery_view) do |el| -%>
<div class="gallery_images">
<% gallery_view.nested_elements.available.each do |nested_element| %>
<%= render_element(nested_element) %>
<% end %>
<%= render gallery_view.nested_elements.available %>
</div>
<%- end -%>
<%- end -%>
Original file line number Diff line number Diff line change
@@ -1,7 +1,5 @@
<%- cache(left_column_view) do -%>
<%= element_view_for(left_column_view) do |el| -%>
<% left_column_view.nested_elements.available.each do |nested_element| %>
<%= render_element(nested_element) %>
<% end %>
<%= render left_column_view.nested_elements.available %>
<%- end -%>
<%- end -%>
Original file line number Diff line number Diff line change
@@ -1,8 +1,6 @@
<%- cache(right_column_view) do -%>
<%= element_view_for(right_column_view) do |el| -%>
<%= el.render :title %>
<% right_column_view.nested_elements.available.each do |nested_element| %>
<%= render_element(nested_element) %>
<% end %>
<%= render right_column_view.nested_elements.available %>
<%- end -%>
<%- end -%>

0 comments on commit db0b523

Please sign in to comment.