私の 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」は含まれていません。
変更を保存するときに、そのセクションへの変更に関する他の save_comments とともに、コントローラーで save_comment に保存する summary_of_changes 文字列も送信します。
本質的には、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')
「summary_of_changes」フィールドを参照するモーダルコード(私の例のjsbin http://jsbin.com/hekaga/1/edit?css,js,outputを参照)があり、フィールドをバインドして、メイン セクション テンプレートの同じ名前のフィールドをモーダル ライブで変更します。
テンプレートに summary_of_changes フィールドが表示され、それを関連するモーダルにドロップし、2 つをバインドして、それを尋ねることができないにもかかわらず、なぜ私ができる長さなのかわかりませんモデルのその他のフィールド。
バージョン: Ember 1.5.11 と Ember-data 1.0.0.beta.5 を含む最新の ember-rails (0.15.0) を実行しています。