我想獲得等待:真正的選項工作collection.create(模型),我沒有任何運氣。骨幹和鐵軌collection.create等待
視圖上呈現增加
window.ObjectsView = GreyboxView.extend
initialize: function() {
_.bindAll(this, 'render');
this.collection.bind('add', this.render);
return this.collection.bind('reset', this.render);
},
render: function() {
json = { obj removed }
this.template = _.template(JST['irboards/index'](json));
this.$el.html(this.template());
this.renderObjects();
return this;
}
}
在模型保存(新)
window.FormView = GreyboxView.extend({
// un-needed code omitted
saveModel: function() {
this.model.set { all my attributes }
this.collection.create(this.model, {
wait: true
});
}
}
在軌控制
:
def create
@model = Model.new(params[:model].merge({:account_id => current_user.account.id, :action_user_id => current_user.id}))
if @model.save
flash[:success] = AppSystem::Notifications.created('Model')
respond_with @model.to_json
else
flash[:error] = @model.errors[:base].blank? ? AppSystem::Notifications::FORM_ERROR : @model.errors[:base]
render :action => :new
end
end
基本上{等待:真正}什麼也不做...或者js模型沒有被添加到集合中,它保存到數據庫或者
this.collection.bind('add', this.render)
沒有被觸發或者rails沒有返回成功......我不知道。
任何人都可以幫忙嗎?
預先感謝您
顯然,我不能回答我的問題,但我不想忘記這個B/C我知道這將幫助別人。所以:
那麼...尋找了很長時間後,最後張貼這個問題...我發現了處理這個問題的方法。我發現這個職位/博客
http://italktoomuch.com/2012/05/setting-up-backbonejs-with-ruby-on-rails/
基本上我的創造:動作需要
def create
respond_with = Model.create(params0
end
和JS是:
this.collection.create(attributes, {
wait: false,
success: function() {
return _this.collection.trigger('reset');
},
error: function() {
return alert('wrong!');
}
})
所以我是留給相信等待什麼也沒做?或者我只是使用它錯了?我不知道,但這是工作,我很高興。需要做一些更多的重構,但是這是開始
希望這有助於其他人也