Ember.js 使用自定义变量扩展余烬模型
我的余烬应用程序有一个分区模型。 它有一个“name”字段,我用“summary\u of\u changes”字段对其进行了扩展。 当我尝试获取名称字段的长度时,一切都正常。 试图获取“summary\u of_changes”字段的长度会产生错误,请参见下文,这让我抓狂 这项工作:Ember.js 使用自定义变量扩展余烬模型,ember.js,ember-data,ember-model,ember-rails,Ember.js,Ember Data,Ember Model,Ember Rails,我的余烬应用程序有一个分区模型。 它有一个“name”字段,我用“summary\u of\u changes”字段对其进行了扩展。 当我尝试获取名称字段的长度时,一切都正常。 试图获取“summary\u of_changes”字段的长度会产生错误,请参见下文,这让我抓狂 这项工作: # coffeescript App.SectionEditController = Ember.ObjectController. isReadyToSave: (-> @get('model
# coffeescript
App.SectionEditController = Ember.ObjectController.
isReadyToSave: (->
@get('model.name').length > 3
).property('model.name'),
但这几乎完全相同的代码并不适用
App.SectionEditController = Ember.ObjectController.
editMode: true,
isReadyToSave: (->
@get('model.summary_of_changes').length > 3
).property('model.summary_of_changes'),
…并产生以下错误
‘Uncaught TypeError: Cannot read property 'length' of undefined’
作为进一步的背景,我的商店是一个Rails API,我有一个商业计划书“部分”的模型。该模型包含:名称、详细信息,但不包含“变更摘要”
保存更改时,我还希望提交一个\u更改摘要字符串,该字符串在控制器中与其他有关该部分更改的save \u注释一起保存到save \u注释中
本质上,我想添加summary_of_changes作为一个临时字段,与模型一起保存,但在保存模型后,该字段将再次清除为空白
在Ember中,我将此字段添加到我的模型中:
App.Section = DS.Model.extend
name: DS.attr('string')
details: DS.attr('string')
sort_order: DS.attr('number')
plan: DS.belongsTo('plan')
summary_of_changes: DS.attr('string')
我有模态代码,请参阅我的示例jsbin,它引用了“summary\u of_changes”字段,我可以绑定该字段,以便对模态live的更改更改主节模板中相同的命名字段
我不明白为什么即使我可以在模板上看到summary_of_changes字段,甚至将其放入一个相关的模式中,并将两者绑定在一起,我也不能像处理模型上的任何其他字段那样询问它的长度
版本:
我正在运行最新的ember rails 0.15.0,其中包括ember 1.5.11和ember data 1.0.0.beta.5@get'model.summary_of_changes.length'>3另外,您不需要在它前面加上model,控制器会代理该模型,同样在javascript中,我们也会用camelCase的东西^^^^谢谢!我现在正在测试这个。patsy:就我的理解,你能解释一下为什么@get'model.summary\u of_changes.length返回undefined吗?这是一个计算属性,你需要使用get和set方法来访问/操作它。