Skip to content

Instantly share code, notes, and snippets.

@kei-q
Created November 3, 2011 13:44
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kei-q/1336510 to your computer and use it in GitHub Desktop.
Save kei-q/1336510 to your computer and use it in GitHub Desktop.
サーバーワークスのbackboneの記事のコードを自分なりに書きなおしてみたもの http://blog.serverworks.co.jp/tech/2011/10/24/backbone-jscoffeescript%E3%82%92%E8%A9%A6%E3%81%97%E3%81%A6%E3%81%BF%E3%82%8B/
class User extends Backbone.Model
validate: (attr) ->
if attr.name is ''
return '一文字以上名前を入力してください'
class Users extends Backbone.Collection
model: User
url: '/users'
class UserView extends Backbone.View
events:
'click .remove-user': 'del'
del: ->
@model.destroy
success: => @remove()
template: _.template '<%- name %><button class="remove-user">Remove</button>'
render: ->
$(@el).append @template(@model.toJSON())
@
class UsersView extends Backbone.View
el: 'body'
events:
'click #add-user' : 'createUser'
initialize: ->
@collection.bind 'reset', @reset, @
@collection.bind 'add', @addOne, @
@collection.fetch()
reset: (items) ->
items.each (i) => @addOne i
addOne: (item) ->
view = new UserView
model: item
@$('#list').append view.render().el
createUser: ->
$userName = $('#user_name')
data =
name: $userName.val()
@collection.create data,
success: ->
$userName.val ''
error: (model, error) ->
alert error
new UsersView
collection: new Users
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment