主干同步传递错误的参数

backbone sync passes wrong parameters

本文关键字:错误 参数 同步      更新时间:2023-09-26

这是一个非常简单的技巧,我认为应该可以正常工作,但它没有。所以我在页面上有多个复选框。每当它们被更改时,我都想记录对数据库的任何更改。因此,在视图事件"单击"复选框中,我有类似于以下内容:

var filter_name = $(e.target).attr("name");
var filter_value = $( "input:checkbox[name=" + filter_name + "]:checked" ).map(function () {
        return this.value;
}).get();

console.log("filter_name: " + filter_name); #=> my_method_name
CarInsuranceApp.aciq.set({filter_name: filter_value});
CarInsuranceApp.aciq.save();

这是我以 JSON 形式收到的结果:

"filter_name"=>"extra"

所以我的问题是如何在集合上动态传递模型属性名称?

这样用。

CarInsuranceApp.aciq.set(filter_name, filter_value);

这是一个可能的单行JavaScript解决方案:

CarInsuranceApp.aciq.attributes[filter_name] = filter_name;