如何设置模型's加载顺序以避免关系错误
How to set model's load order to avoid relation errors?
我有一个用于模型文件的文件夹models
。每个文件包含一个模型。模型之间有很多关系(hasMany,belongsTo)。如果我想设置hasMany关系,那么我需要已经定义了子模型,否则我会得到一个错误:
Error: assertion failed: The first argument DS.belongsTo must be a model type or string, like DS.belongsTo(App.Person)
因为模型(上例中为App.Person)尚未定义。
以下是关系定义之一:
App.Seat = DS.Model.extend( number: DS.attr('number') tour: DS.belongsTo(App.Tour) )
模型文件夹包括如下:
//= require_tree ./models
我知道在一个文件中定义所有模型(或者至少彼此有关系的模型)的解决方案。
问题:是否有其他解决方案可以将所有模型保存在单独的文件中
我找到了一个非常简单的解决方案:将所有关系定义为对象(例如App.Tour
):
App.Seat = DS.Model.extend(
number: DS.attr('number')
tour: DS.belongsTo(App.Tour) # <<<<<<<<<<<============ ***here***
)
但作为字符串(例如"App.Tour"
),所以将其放在引号中:
App.Seat = DS.Model.extend(
number: DS.attr('number')
tour: DS.belongsTo("App.Tour") # <<<<<<<<<<<============ ***here***
)
我认为这种"变通方法"是因为javascript的限制。
更新:ember.js
相关文章:
- 使用Require.js按照依赖关系的顺序加载JavaScript
- 如何确保coffeescript按顺序加载
- 使用webcomponenetsjs的HTMLImports以意外的执行顺序加载导入-firefox
- zend按顺序加载js文件
- Angular + Requirejs - 以错误的顺序加载
- Javascript 文件以不需要的顺序加载
- Django 模板似乎没有以正确的顺序加载 Backbone.js
- 按顺序加载脚本.js和使用.js
- 让 html 和 javascript 在 rails 中以正确的顺序加载
- 从 JavaScript 代码中按顺序加载 JavaScript
- 如何使用 HTML/javascript 以预定义的顺序加载图像
- kineticJS按顺序加载图像(并设置fillPatternImg)不透明度补间不起作用
- 按gulp / browserify顺序加载javascript插件
- Javascript未按正确的顺序加载
- Javascript承诺以相反的顺序加载
- 按顺序加载图像,有延迟,无脚本回退
- 脚本未按顺序加载
- RequireJS和依赖于按特定顺序加载的脚本
- 顺序加载fadeIn效果与Javascript和jQuery
- 可以Promise按顺序加载多个url