我正在开发一个使用rails 4和spine js作为前端mvc框架的web应用程序。 安装了gem'spine-rails'后,我运行了命令
rails g spine:new
在生成的app文件夹中,index.js.coffee文件加载了一些第三方资产。
#= 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无法加载它们。
任何解决方案? :)
答案 0 :(得分:0)
将gem 'json2-rails'
添加到您的gemfile。
这为我解决了同样的问题。但是,它不应该是必要的,因为脊柱轨道将宝石作为依赖。
在发布这个答案之后,当我在处理另一个项目时碰巧看spine-rails github repo时,我确认了我的答案。它说:
在Gemfile中,添加以下行:
gem“json2-rails”
gem“spine-rails”
因此,您必须在gemfile中包含json2-rails gem。