我的 Ember 应用程序有一个截面模型。它有一个“名称”字段,我用“summary_of_changes”字段对其进行了扩展。当我尝试获取名称字段的长度时,一切都很好。尝试获取“summary_of_changes”字段的长度会产生错误(见下文)并让我发疯。
这有效:
# 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,我有一个商业计划“部分”的模型。该模型包含:名称、详细信息,但不包含“summary_of_changes”。
当我保存更改时,我还想提交一个 summary_of_changes 字符串,在控制器中我保存到 save_comment 以及其他关于该部分更改的 save_comment。
本质上,我想将 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 http://jsbin.com/hekaga/1/edit?css,js,output),它指的是“summary_of_changes”字段,我能够绑定该字段以便更改modal 实时更改主要部分模板中的相同命名字段。
我不明白为什么即使我可以看到模板上的 summary_of_changes 字段,甚至可以将其放入相关的模态中并将两者绑定在一起,但我不能再问它的长度,因为我可以做到模型上的任何其他字段。
版本:我正在运行最新的 ember-rails (0.15.0),其中包括 Ember 1.5.11 和 Ember-data 1.0.0.beta.5