gjd*_*ass 8 javascript model-view-controller relational-model backbone.js backbone-relational
我得到了一个我无法弄清楚的wtf问题.我解释 :
我有一个名为Product的模型:
var Product = Backbone.RelationalModel.extend(
{
urlRoot: Backbone.rootApiUrl + '/products',
defaults: {
id: '',
name: '',
description: '',
current_price: '',
categories: '',
duration: '',
shipping_cost: '',
start_date: '',
user_id: null,
is_buy_it_now: ''
},
relation: [{
type: Backbone.HasOne,
key: 'user_id',
relatedModel: User,
autoFetch: true
}]
});
Run Code Online (Sandbox Code Playgroud)
我的字段user_id是一个用户的外键(也是Backbone中的模型):
var User = Backbone.RelationalModel.extend(
{
urlRoot: Backbone.rootApiUrl + '/users',
defaults: {
id: '',
name: '',
email: '',
firstname: '',
lastname: '',
password: '',
card_nb: '',
cart_total: ''
}
});
Run Code Online (Sandbox Code Playgroud)
我的获取关系在每个单独的模型中都能很好地工作 但是当我在Product.user_id和我的用户模型之间建立关系时,会发生wtf错误.
我已经尽了一切可能:所有的钥匙(keySource,keyDestination............所有值都可能).我甚至在关系库中加入了断点,以便能够观察发生的事情......没什么好说的.甚至StackOverflow都不知道这个bug:P(或者我搜索得很糟糕)
最后一个问题是:
user_id首先由Product API响应设置为一个数字,然后通过Relational置于NULL而不是被对象User(WHY?)替换user_id数字(OK)调用User对象的API(它就在这里).服务器响应很好,正确的用户使用JSON(OK).但是Relational不会将此响应对象与字段绑定user_id,现在是...... NULL(不行).
user_id.编辑:一个JSFiddle可以在这里http://jsfiddle.net/gjdass/WNWrm/(小心,API可以很长时间响应,大约10秒,这是正常的).
在此先感谢:/抱歉,你可以采取这个时间.
如果删除 的默认值,它的行为是否会有所不同user_id?我想知道它是否正在获取关系然后应用 的默认值null。
如果尚未设置,您也可以尝试设置Backbone.Relational.showWarnings为,并检查控制台是否有任何警告。true
| 归档时间: |
|
| 查看次数: |
175 次 |
| 最近记录: |