Commit ca86a487
Changed files (4)
app
helpers
views
application
app/helpers/application_helper.rb
@@ -40,6 +40,12 @@ module ApplicationHelper
end
def backbone_collection_for(items)
- render partial: 'backbone_collection', locals: { items: items }
+ safe_name = items.name.split('::').last
+ collection_name = safe_name.pluralize
+ render partial: 'backbone_collection', locals: {
+ collection_name: collection_name,
+ items: items,
+ partial_name: collection_name.downcase,
+ }
end
end
app/views/application/json/_categories.jbuilder
@@ -0,0 +1,7 @@
+json.cache! items do
+ json.array! items do |category|
+ json.id category.id
+ json.name category.name
+ json.slug category.slug
+ end
+end
app/views/application/_backbone_collection.html.erb
@@ -1,5 +1,5 @@
<% cache items do %>
-<%= javascript_tag do %>
-csx.<%= items.name.split('::').last.pluralize %> = new Backbone.Collection(<%= items.to_json.html_safe %>);
-<% end %>
+ <%= javascript_tag do %>
+ csx.<%= collection_name %> = new Backbone.Collection(<%= raw render partial: "application/json/#{partial_name}", locals: { items: items } %>);
+ <% end %>
<% end %>