0

我的 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

4

0 回答 0