Rails模型新属性不会出现在主干中

时间:2015-05-26 17:03:13

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

我之前从未使用骨干,所以请耐心等待。

我为我的rails模型添加了一个新属性,它工作正常(使用rails控制台检查)。但是该属性并未显示在主干模型中。我已经将新属性(类别)添加到主干模型中的白名单

class Models.Program extends Models.Base
  paramRoot: 'program'
  urlRoot: '/api/programs'

  defaults:
    locale: "en"

  whitelist: ["name", "internal_name", "site_id", "locale", "target_description",
    "introduction", "display_mode_class", "timezone", "start_at", "end_at",
    "diploma_text", "diploma_enabled", "category"]

我还应该做些什么才能让新属性出现在骨干网中?是否有"链接"在轨道控制器和骨干模型之间?

由于

1 个答案:

答案 0 :(得分:0)

只有在构造函数(new Model({prop1: 'value'})或set manuall(modelInstance.set('attributeName', 'value'))中传递属性时,才能在Backbone模型中使用属性。

可能你想通过第一种方法实现它,这意味着你不要从服务器传递JSON这个属性(或者在客户端代码中的某处删除它)。

仔细检查此模型初始化的数据。