exp*_*ner 4 coffeescript backbone.js ruby-on-rails-3.1
我试图获得一个CoffeeScript类来扩展Backbone.Model.我构建了一个全新的rails 3.1应用程序,创建了一个具有3个属性的'Stone'脚手架,并将一个Todos.coffee示例的片段修补到stones.js.coffee中.我在app/assets/javascripts文件夹中有backbone.js和underscore.js.当我在Chrome Java控制台下运行时,我在控制台日志中收到上面的消息.有任何想法吗?
实际代码如下:
$ ->
class Todo extends Backbone.Model
# Default attributes for the todo.
defaults:
content: "empty todo..."
done: false
# Ensure that each todo created has `content`.
initialize: ->
if !@get("content")
@set({ "content": @defaults.content })
# Toggle the `done` state of this todo item.
toggle: ->
@save({ done: !@get("done") })
# Remove this Todo from *localStorage* and delete its view.
clear: ->
@destroy()
@view.remove()
Run Code Online (Sandbox Code Playgroud)
正在使用的application.js是由Rails 3.1生成的.我从Todos github repo中复制了backbone.js和underscore.js,https://github.com/JasonGiedymin/backbone-todojs-coffeescript
Tre*_*ham 16
问题只是underscore.js在之后加载backbone.js,当它是必须先加载的先决条件时.(请注意Backbone.js源中它var _ = root._立即设置,因此即使_稍后声明了全局,它也不会从Backbone的范围中看到.)Sprockets默认按字母顺序加载资源目录中的JS文件.
您可以使用Sprockets:Put解决此问题
//= require underscore.js
Run Code Online (Sandbox Code Playgroud)
之前
//= require_tree .
Run Code Online (Sandbox Code Playgroud)
确保首先加载它.
| 归档时间: |
|
| 查看次数: |
7370 次 |
| 最近记录: |