【问题标题】:Failed to load files from gems installled with rails 4无法从安装了 rails 4 的 gem 加载文件
【发布时间】:2014-03-05 20:15:01
【问题描述】:

我正在开发一个使用 rails 4 和 spin js 作为前端 mvc 框架的 web 应用程序。 安装 gem 'spine-rails' 后,我运行了命令

导轨 g 脊柱:新

并且在生成的 app 文件夹中,index.js.coffee 文件加载了一些 3rd 方资产。

#= require json2
#= require jquery
#= require spine
#= require spine/manager
#= require spine/ajax
#= require spine/route

#= require_tree ./lib
#= require_self
#= require_tree ./models
#= require_tree ./controllers
#= require_tree ./views

class Frontend extends Spine.Controller
  constructor: ->
    super

    # Initialize controllers:
    #  @append(@items = new Frontend.Items)
    #  ...

    Spine.Route.setup()    

window.Frontend = Frontend

在运行服务器时,出现一个错误

Sprockets::FileNotFound at /
couldn't find file 'json2' (in /Users/edward/git/beta-cafe/app/assets/javascripts/frontend/index.js.coffee:1)

gem文件夹中好像加载了json2、spine、spine/ajax等js文件,但是Rails加载失败。

有什么解决办法吗? :)

【问题讨论】:

  • 尝试在 config/application.rb 中引入 json2 并将其从 index.js.coffee 中删除。

标签: ruby-on-rails sprockets spine.js


【解决方案1】:

gem 'json2-rails' 添加到您的 gemfile。

这为我解决了同样的问题。不过,这不是必需的,因为spine-rails 具有该gem 作为依赖项。

编辑

发布此答案后,当我在处理另一个项目时碰巧看到spine-rails github repo 时,我确认了我的答案。它说:

在您的 Gemfile 中,添加以下行:

宝石“json2-rails”

宝石“脊梁”

因此,您必须在 gemfile 中包含 json2-rails gem。

【讨论】:

    猜你喜欢
    • 2013-11-22
    • 1970-01-01
    • 1970-01-01
    • 2013-11-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-09
    相关资源
    最近更新 更多