【问题标题】:Rails model new attribute doesn't show up in backboneRails 模型新属性未显示在主干中
【发布时间】:2015-05-26 17:03:12
【问题描述】:

我以前从未与骨干合作过,所以请耐心等待。

我向我的 rails 模型添加了一个新属性,它运行良好(使用 rails 控制台检查)。但是,该属性不会出现在主干模型中。我已经将新属性(category)添加到主干模型的白名单中

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"]

我还应该做什么才能让新属性显示在主干中? rails 控制器和骨干模型之间是否存在“链接”?

谢谢

【问题讨论】:

  • Models.Base 是主干模型。这就是我想要理解的:这个新属性是如何/在哪里传递给 Backbone 的。

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


【解决方案1】:

只有在构造函数 (new Model({prop1: 'value'}) 或手动设置 (modelInstance.set('attributeName', 'value')) 中传递属性时,属性才会在 Backbone 模型中可用。

可能您想通过第一种方法来实现它,这表明您不要从服务器以 JSON 格式传递此属性(或在客户端代码中的某处删除它)。

仔细检查这个模型初始化了什么数据。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-23
    • 1970-01-01
    相关资源
    最近更新 更多