Backbone と Laravel を使用して予約を管理する簡単なアプリケーションを作成しています。また、現在サインインしているユーザーのユーザー データを更新する簡単なフォームに取り組んでいます。
フォームからの入力データでモデルを更新するために、私が行った方法よりも効率的で効率的な方法はありますか?
モデルに update というメソッドを作成しました。このメソッドには、フォームの DOM オブジェクトが渡されます。これは最善の方法ではないと思います。
どんな助けでも大歓迎です!
var Account = Backbone.Model.extend({
url: "/settings/account",
initialize: function()
{
},
update: function(form)
{
this.set({
first_name : form.find('#first-name').val(),
last_name : form.find('#last-name').val(),
email : form.find('#email').val(),
landline: form.find('#landline').val(),
mobile: form.find('#mobile').val()
});
return this.save();
}
});
var user = new Account;
var AccountView = Backbone.View.extend({
el: $("div.section"),
template: _.template($("#account-template").html()),
events: {
"submit #account": "update"
},
initialize: function()
{
_.bindAll(this, 'render', 'update');
this.render();
},
render: function()
{
$(this.el).html(this.template(this.model.toJSON()));
},
update: function()
{
var form = $(this.el).find('form#account');
user.update(form);
$(this.el).find('.alert-success').show();
return false;
}
});
var Router = Backbone.Router.extend({
routes: {
"account": "account"
},
account: function()
{
user.fetch({
success: function()
{
return new AccountView({model:user});
}
});
}
});