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」は含まれていません。

変更を保存するときに、そのセクションへの変更に関する他の 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) を実行しています。

4

0 に答える 0