diff options
| author | mo <mo.khan@gmail.com> | 2017-09-24 14:21:35 -0600 |
|---|---|---|
| committer | mo <mo.khan@gmail.com> | 2017-09-24 14:21:35 -0600 |
| commit | c14120056549765beb35f5a35f8c76e0e8ef7397 (patch) | |
| tree | c126ad5b9ae3361aeed9b037533be4452ff217b3 /app | |
| parent | 4887ba54da7ff8a25347b58c4a426cb5cf1dee3b (diff) | |
create helper to generate a backbone collection.
Diffstat (limited to 'app')
| -rw-r--r-- | app/assets/javascripts/views/my/cakes/edit_view.js.coffee | 2 | ||||
| -rw-r--r-- | app/assets/javascripts/views/my/tutorials/new_view.js.coffee | 2 | ||||
| -rw-r--r-- | app/helpers/application_helper.rb | 4 | ||||
| -rw-r--r-- | app/models/tag.rb | 2 | ||||
| -rw-r--r-- | app/views/application/_backbone_collection.html.erb | 5 | ||||
| -rw-r--r-- | app/views/my/kitchens/show.html.erb | 6 |
6 files changed, 14 insertions, 7 deletions
diff --git a/app/assets/javascripts/views/my/cakes/edit_view.js.coffee b/app/assets/javascripts/views/my/cakes/edit_view.js.coffee index 64c4da4c..9da1698e 100644 --- a/app/assets/javascripts/views/my/cakes/edit_view.js.coffee +++ b/app/assets/javascripts/views/my/cakes/edit_view.js.coffee @@ -35,7 +35,7 @@ class csx.Views.My.Cakes.EditView extends Marionette.CompositeView onRender: -> @$("#cake_category_id").val(@model.category_id()) - @ui.tags.tagit({ availableTags: ALL_TAGS }) + @ui.tags.tagit({ availableTags: csx.Tags.pluck('name') }) @disableSaveButton() savedSuccessfully: (cake) => diff --git a/app/assets/javascripts/views/my/tutorials/new_view.js.coffee b/app/assets/javascripts/views/my/tutorials/new_view.js.coffee index 582dd370..46918386 100644 --- a/app/assets/javascripts/views/my/tutorials/new_view.js.coffee +++ b/app/assets/javascripts/views/my/tutorials/new_view.js.coffee @@ -36,7 +36,7 @@ class csx.Views.My.Tutorials.NewView extends Marionette.ItemView author_url: attributes.provider_url onRender: -> - @ui.tags.tagit({ availableTags: ALL_TAGS }) + @ui.tags.tagit({ availableTags: csx.Tags.pluck('name') }) validate: -> @model.isValid() diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index 2000ffb9..893abc5d 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -38,4 +38,8 @@ module ApplicationHelper 'info' end end + + def backbone_collection_for(items) + render partial: 'backbone_collection', locals: { items: items } + end end diff --git a/app/models/tag.rb b/app/models/tag.rb index 1f8309e5..c2cdb91c 100644 --- a/app/models/tag.rb +++ b/app/models/tag.rb @@ -4,6 +4,6 @@ class Tag .joins(:taggings) .where(taggings: { context: 'tags' }) .order(:name) - .uniq + .distinct end end diff --git a/app/views/application/_backbone_collection.html.erb b/app/views/application/_backbone_collection.html.erb new file mode 100644 index 00000000..a806939f --- /dev/null +++ b/app/views/application/_backbone_collection.html.erb @@ -0,0 +1,5 @@ +<% cache items do %> +<%= javascript_tag do %> +csx.<%= items.name.split('::').last.pluralize %> = new Backbone.Collection(<%= items.to_json.html_safe %>); +<% end %> +<% end %> diff --git a/app/views/my/kitchens/show.html.erb b/app/views/my/kitchens/show.html.erb index 195a8d94..e9a2c94d 100644 --- a/app/views/my/kitchens/show.html.erb +++ b/app/views/my/kitchens/show.html.erb @@ -1,10 +1,8 @@ <% provide(:title, "Kitchen") -%> <%= content_for :javascript do -%> + <%= backbone_collection_for @categories %> + <%= backbone_collection_for @tags %> <%= javascript_tag do %> - csx.Categories = new Backbone.Collection(<%= raw @categories.to_json %>); - - <%# backbone_collection_for @categories %> - var ALL_TAGS = <%= raw @tags.pluck(:name) %>; csx.initialize({ access_token: '<%= current_user.authentication_token %>' }); <% end %> <% end %> |
