Ruby on rails 无法从使用rails 4安装的gems加载文件
我正在开发一个Web应用程序,使用rails 4和spine js作为前端mvc框架。 安装了gem'spine rails'后,我运行了命令 rails g spine:全新 在生成的应用程序文件夹中,index.js.coffee文件加载一些第三方资产Ruby on rails 无法从使用rails 4安装的gems加载文件,ruby-on-rails,sprockets,spine.js,Ruby On Rails,Sprockets,Spine.js,我正在开发一个Web应用程序,使用rails 4和spine js作为前端mvc框架。 安装了gem'spine rails'后,我运行了命令 rails g spine:全新 在生成的应用程序文件夹中,index.js.coffee文件加载一些第三方资产 #= require json2 #= require jquery #= require spine #= require spine/manager #= require spine/ajax #= require spine/route
#= 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)
似乎有json2、spine、spine/ajax等js文件加载到gem文件夹中,但Rails无法加载它们
有什么解决办法吗?:) 将
gem'json2rails'
添加到您的gem文件中
这为我解决了同样的问题。不过,这不应该是必要的,因为spine rails将该gem作为一个依赖项
编辑
在发布了这个答案之后,当我在另一个项目中工作时偶然看到了这个问题时,我确认了我的答案。它说:
在文件中,添加以下行:
gem“json2rails”
宝石“脊梁”
因此,您必须在gem文件中包含json2 rails gem。尝试在config/application.rb中要求json2,并将其从index.js.coffee中删除。