【问题标题】:Backbone with Rails - include order带 Rails 的骨干网 - 包括订单
【发布时间】:2014-01-15 10:25:07
【问题描述】:

经过几个小时试图理解为什么独立工作的相同代码在 Rails 中不起作用时,我意识到 Rails 在模型文件之前包含集合文件,并引发以下异常:

Uncaught TypeError: undefined is not a function

我使用控制台挖掘并发现模型未定义。

我找到的临时解决方案是在我的application.js 中一一包含文件,但我不敢相信这是唯一的解决方案。它远非优雅,当代码变得更大时,将无法跟踪它。

有人有解决这个问题的办法吗?

【问题讨论】:

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


    【解决方案1】:

    我赞同@BillyChan 的建议。我一直在用它。

    不,它不会使代码混乱。但是,如果您的模型文件变得非常大。您可能想再次访问您的代码,看看是否可以将任何内容提取到帮助程序,甚至是新模型中。

    好吧,如果您真的不想这样做...我假设您将集合和模型放在不同的文件夹中(如果不是,这比将模型/集合放在一个文件中更混乱,IMO),您始终可以要求模型application.js 中的第一个文件夹

    //= require_tree './backbone/models'
    //= require_tree './backbone/collections'
    //= require_tree './backbone/views'
    

    【讨论】:

      【解决方案2】:

      常见的做法是先将模型和集合与模型放在同一个文件中。

      【讨论】:

      • 这是 Javascript,而不是 Ruby。 Rails 中的相同模式不能在任何地方应用。混乱与否取决于开发者。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-10
      • 2012-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多