チュートリアルに従っていましたが、チュートリアルはオブジェクト コントローラ用です。配列コントローラーで、テキスト フィールドのオブジェクトを適切に渡して、そのモデル オブジェクトの更新をトリガーするにはどうすればよいですか?
現在、ダブルクリックして何らかの値を入力できます。Enter キーを押すと、値と未定義のメソッド セットが取得されます。
Uncaught TypeError: Object asdasdasdasdasd has no method 'set'
生の値をコントローラーに渡し、そこからメソッドを実行しようとしていると思います。実際のモデルを渡すにはどうすればよいですか?
意見:
<ul>
{{#each}}
<li {{bind-attr class="isEditing:editing"}} {{action "editWorkout" this on="doubleClick"}}>
{{#if isEditing}}
{{view Ember.TextField class='edit' action="updateWorkout"}}
{{else}}
{{#link-to 'workout' this}} {{title}} {{/link-to}}
{{/if}}
</li>
{{/each}}
<li>
{{newWorkoutName}}
</li>
</ul>
コントローラ:
EmberWorkouts.WorkoutsController = Ember.ArrayController.extend
actions:
editWorkout: (workout) ->
workout.set('isEditing', true)
createWorkout: ->
title = @get('newWorkoutName')
workout = @store.createRecord('workout', title: title)
@set('newWorkoutName', '')
workout.save()
updateWorkout: (workout) ->
workout.set('isEditing', false)
workout.save()
isEditing: false
調査したい場合は、ここにレポしてください: https://github.com/ecl1pse/ember-workouts/tree/master/app