Rails-Backbone Model保存问题

时间:2014-05-12 06:23:49

标签: ruby-on-rails backbone.js coffeescript

此页面用于编辑帐户信息。

模板文件,

<input type="text" id="account_name" class="form-control" placeholder="Enter Name" value="<%=account.name%>"/>
<input type="text" id="account_company_name" class="form-control" placeholder="Enter Company Name" value="<%=account.company_name%>"/>
<a id="account_next_btn" class="btn" role="button">Next</a>

查看文件,

events:
    'click #account_next_btn': "updateAccount"

updateAccount: (e)->
    e.preventDefault()
    @account.save({"name": @$el.find("#account_name").val(),"company_name": @$el.find("#account_company_name").val()})
好的,这很好用。它发送更新的输入表单参数。

我很好奇的是,应该有更好的方法,而不是像我的代码那样手动设置更新值。

在rails backbone:scaffold中,它没有这种代码。

它只是

@model.save()

这就是他们所做的一切。

但在我的代码中,如果我只是致电

@account.save()

它发送的参数尚未更新。

1 个答案:

答案 0 :(得分:0)

这是因为默认情况下Backbone不包含任何类型的数据绑定库。通过数据绑定,您可以使模型属性与表单字段值保持同步。

Backbone-Rails包含简单的backbone_datalink.js,它在您创建脚手架时设置一个简单的表单绑定。

还有许多其他绑定插件可与Backbone配合使用,例如Backbone.ModelBinderRivets.js