使用自定义变量扩展Ember模型

时间:2014-10-22 05:48:04

标签: ember.js ember-data ember-model ember-rails

我的Ember App有一个Section Model。 它有一个'name'字段,我用'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_comments。

本质上,我想将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'字段,我能够绑定字段,以便对模态实时更改更改主要部分中的相同命名字段模板。

我不明白为什么即使我可以在模板上看到summary_of_changes字段,甚至将它放入相关的模态并将两者绑定在一起,然后我就不能问它的长度,因为我能够与模型上的任何其他字段有关。

版本: 我正在运行最新的ember-rails(0.15.0),其中包括Ember 1.5.11和Ember-data 1.0.0.beta.5

0 个答案:

没有答案