Commit e5b8e39f
Changed files (8)
app
assets
javascripts
backbone
models
templates
cakes
photos
views
cakes
views
my
cakes
app/assets/javascripts/backbone/models/photo.js.coffee
@@ -4,6 +4,7 @@ class Cake.Models.Photo extends Backbone.Model
defaults:
thumb_url: null
large_url: null
+ original_url: null
class Cake.Collections.PhotosCollection extends Backbone.Collection
model: Cake.Models.Photo
app/assets/javascripts/backbone/routers/cakes_router.js.coffee
@@ -13,19 +13,19 @@ class Cake.Routers.CakesRouter extends Backbone.Router
newCake: ->
@view = new Cake.Views.Cakes.NewView(collection: @cakes)
- $("#cakes").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
index: ->
@view = new Cake.Views.Cakes.IndexView(cakes: @cakes)
- $("#cakes").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
show: (id) ->
cake = @cakes.get(id)
@view = new Cake.Views.Cakes.ShowView(model: cake)
- $("#cakes").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
edit: (id) ->
cake = @cakes.get(id)
@view = new Cake.Views.Cakes.EditView(model: cake)
- $("#cakes").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
app/assets/javascripts/backbone/routers/photos_router.js.coffee
@@ -1,31 +1,30 @@
class Cake.Routers.PhotosRouter extends Backbone.Router
initialize: (options) ->
@photos = new Cake.Collections.PhotosCollection()
- @photos.reset options.photos
routes:
- "new" : "newPhoto"
- "index" : "index"
- ":id/edit" : "edit"
- ":id" : "show"
- ".*" : "index"
+ ":cake_id/photos/new" : "newPhoto"
+ "photos/index" : "index"
+ "photos/:id/edit" : "edit"
+ "photos/:id" : "show"
+ "photos/.*" : "index"
- newPhoto: ->
+ newPhoto: (cake_id) ->
@view = new Cake.Views.Photos.NewView(collection: @photos)
- $("#photos").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
index: ->
@view = new Cake.Views.Photos.IndexView(photos: @photos)
- $("#photos").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
show: (id) ->
photo = @photos.get(id)
@view = new Cake.Views.Photos.ShowView(model: photo)
- $("#photos").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
edit: (id) ->
photo = @photos.get(id)
@view = new Cake.Views.Photos.EditView(model: photo)
- $("#photos").html(@view.render().el)
+ $("#backbone-content").html(@view.render().el)
app/assets/javascripts/backbone/templates/cakes/show.jst.ejs
@@ -1,4 +1,5 @@
<a href="#/">Back</a>
+<a href="#/cakes/<%= id %>/photos" class="btn">Add Photo</a>
<div class="row">
<div class="span6">
app/assets/javascripts/backbone/templates/photos/new.jst.ejs
@@ -17,4 +17,4 @@
</form>
-<a href="#/index">Back</a>
\ No newline at end of file
+<a href="#/index">Back</a>
app/assets/javascripts/backbone/views/cakes/new_view.js.coffee
@@ -23,7 +23,7 @@ class Cake.Views.Cakes.NewView extends Backbone.View
@collection.create(@model.toJSON(),
success: (cake) =>
@model = cake
- window.location.hash = "/#{@model.id}"
+ window.location.hash = "/#{@model.id}/photos/new"
error: (cake, jqXHR) =>
#@model.set({errors: $.parseJSON(jqXHR.responseText)})
app/assets/javascripts/backbone/cake.js.coffee
@@ -14,3 +14,4 @@ window.Cake =
if data.access_token
xhr.setRequestHeader "Authorization", "Token token=" + data.access_token
new Cake.Routers.CakesRouter()
+ new Cake.Routers.PhotosRouter()
app/views/my/cakes/index.html.erb
@@ -5,4 +5,4 @@
<% end -%>
<%= render partial: "shared/account_nav", locals: { selected: :creations } %>
-<div id="cakes"></div>
+<div id="backbone-content"></div>