新しいルートのリソースがあるという問題があります。その新しいルートに移行すると、新しいオブジェクトが作成されます。フォームにはキャンセルするボタンがあり、そのオブジェクトが削除されます。ただし、ナビゲーションのリンクをクリックすると、たとえばリソースインデックスに戻ると、そのオブジェクトはフォームに入力したものとともにそこにあります。オブジェクトの作成を管理してからフォームから離れるのに最適な方法は何ですか?
私のルート:
App.Router.map(function() {
this.resource('recipes', function() {
this.route('new');
this.route('show', { path: '/:recipe_id' });
});
this.resource('styles');
});
App.RecipesNewRoute = Ember.Route.extend({
model: function() {
return App.Recipe.createRecord({
title: '',
description: '',
instructions: ''
});
},
setupController: function(controller, model) {
controller.set('styles', App.Style.find());
controller.set('content', model);
}
});
新しいルートの私のコントローラー:
App.RecipesNewController = Ember.ObjectController.extend({
create: function() {
this.content.validate()
if(this.content.get('isValid')) {
this.transitionToRoute('recipes.show', this.content);
}
},
cancel: function() {
this.content.deleteRecord();
this.transitionToRoute('recipes.index');
},
buttonTitle: 'Add Recipe'
});
バージョン1.0.0.rc.1を使用しています
ありがとう!