URL: http://connpass.com/event/2000/
BackboneJS&CoffeeScriptではまりやすいのをまとめた(少なくとも僕が)
※CoffeeScriptで書いてるURL: http://blog.nkzn.net/entry/2012/05/29/162331
hatenaのシンタックスハイライトは(coffee)なのにできない。
1. 半角スペース入れる
#View TaskView = Backbone.View.extend({ tagName: 'li', template: _.template($('#task-template').html()), render: ()-> template = this.template(this.model.toJSON()) this.$el.html(template) return this })
↓のように、タグ名に間違って"半角スペース"が含まれてて気が付かなかった!
tagName: ' li',
2. 複数形
AddTaskView = Backbone.View.extend({ el: '#addTask', events: { 'submit': 'submit' }, submit: (e)-> e.preventDefault() task = new Task({title: $('#title').val()}) this.collection.add(task) })
events: {
このevent"s"の"s"を忘れやすい
3. new の書き忘れ
taskView = TaskView({model: task})
4. ","の書き忘れ
Task = Backbone.Model.extend({ defaults: { title: 'do something', completed: false }, # <= これは忘れにくい validate: ()-> if _.isEmpty(attrs.title) return 'title must not be empty' , # <= これは忘れやすい!! initialize: ()-> this.on('invalid', (model, error)-> $('#error').html(error) ) <= これも忘れやすい!! })
→カンマの位置が微妙に違うのも忘れやすい。ちなみに多行にまたがったカッコも忘れやすい
EmberJSをCoffeeScriptで書き方不明
App.Person = DS.Model.extend({ firstName: DS.attr('string'), lastName: DS.attr('string'), fullName: ()-> return this.get('firstName') + " " + this.get('lastName') .property('firstName', 'lastName') })
↑このプロパティはドウ書くのか?
↓もとのJS
fullName: function() { return this.get('firstName') + " " + this.get('lastName'); }.property('firstName', 'lastName')
App.peopleController = Em.ArrayController.create({
content: App.Person.find()
})
Rails4
railsコマンドがspringで高速化Emberと相性がいい
ActiveModel::Modelをインポートするとモデルっぽくできる
json.array!(@books) do |book| json.extract! book, :id #json.extract! book, :title, :reason, :prite, :url, :severity, :howto, :buydate, :country #json.url book_url(book, format: :json) end
HTMLにはまる。
<%# @books.each do |book| %> <!--tr--> <%= content_tag_for :tr, @books do |book| %> <td><%= book.title %></td> <td><%= book.reason %></td> <td><%= book.prite %></td> <td><%= book.url %></td> <td><%= book.severity %></td> <td><%= book.howto %></td> <td><%= book.buydate %></td> <td><%= book.country %></td> <td><%= link_to 'Show', book %></td> <td><%= link_to 'Edit', edit_book_path(book) %></td> <td><%= link_to 'Destroy', book, method: :delete, data: { confirm: 'Are you sure?' } %></td> <!-- /tr --> <% end %>
<%# @books.each do |book| %>を<%= content_tag_for :tr, @books do |book| %>に置き換えるときに
rvm remove 2.0.0 # get rid of unsuccessful installation rvm get head --autolibs=3 # get the latest RVM and build required libs rvm requirements # just in case, install all other required stuff rvm install ruby-2.0.0 rvm --default use ruby-2.0.0
しかしだめだった。。。
application.js
//= はコメントアウトではない。こういった書き方。//= require_tree .
↑カレントディレクトリ(javascriptフォルダ)のJSのを読み込む
//= require jquery.turbolinks
これやってもダメだった
WiX
簡単にWebできるhttp://ja.wix.com/
Fastladder
http://fastladder.org/ja/