我想創建一個記錄,並在服務器端我使用rails。 rails驗證失敗,我返回一個422狀態碼,但是當我在becomeInvalid回調中刪除它時,它不會從模板中刪除。它只是顯示一個空白條目。Ember刪除無效的服務器驗證記錄
當它正在等待服務器加載它只是顯示名稱,這是預期的。
灰燼型號代碼
App.Job = DS.Model.extend({
name : DS.attr("string"),
user : DS.belongsTo("App.User", {embedded : "load"}),
plans : DS.hasMany("App.Plan", {embedded : "load"}),
shares : DS.hasMany("App.Share", {embedded : "load"}),
becameInvalid : function(data){
this.deleteRecord();
}
});
灰燼控制器通話
PlanSource.Job.createRecord({"name" : name});
job.save();
Rails的創建方法
def create
if can? :create, Job
@job = Job.new(name: params["job"]["name"], user_id: current_user.id)
if [email protected]
render :json => {job: @job}, status: :unprocessable_entity
return
end
if
render :json => {:job => @job}, include: [:plans, :user, :shares => {except: :token, include: [:user, :job]}]
else
render_no_permission
end
else
render_no_permission
end
end
我的問題是什麼是處理服務器端驗證錯誤的最好方式。我不想嘗試重新提交記錄,我只是想刪除它。我正在尋找一些東西讓Ember等待服務器響應,但什麼都沒發現。
此方法不起作用,因爲它會在刪除後在模型管道中導致未定義的錯誤。