我在从旧的 Rails 3.0 项目升级到最新的 Rails 3.2(Rails 4 有点过于前卫)和使用宣传的资产管道时遇到了麻烦。我已经成功地将资产管道用于具有像基础这样的宝石的新项目中,但是让它在这个旧项目中工作似乎很困难,反复Sprockets::FileNotFound
出现错误。gemfile 正确地包含了资产组中的所有 gem。
source 'http://rubygems.org'
gem "rails", "~> 3.2.13"
... database gems ...
gem 'nokogiri'
group :assets do
gem 'sass-rails', '~> 3.2.3'
gem 'coffee-rails', '~> 3.2.1'
gem 'compass-rails'
gem 'uglifier', '>= 1.0.3'
gem 'zurb-foundation', '~> 4.0.0'
gem 'jquery-ui-rails'
end
gem 'jquery-rails'
....
请注意,我Sprockets::FileNotFound: couldn't find file 'jquery'
通过将 jquery-rails 移到:assets
-group 之外解决了类似的错误,但这不是至少基础应该如何工作......
我面临的另一个问题(并且可能相关)是它rails g foundation:install
不起作用,即使bundle install
命令列出了zurb-foundation
正在使用的 gem(4.0.9)。
我尝试将使用基础资产的新生成项目与我当前的项目进行比较,但我似乎查看了升级后的 Rails 项目配置之间的差异,但Sprockets::FileNotFound: couldn't find file 'jquery'
基础仍然存在。
请注意,我已经看到建议将文件移动到项目的文件vendor
夹中的解决方案,但这不是我想要的解决方案类型。我想充分利用资产管道,并尽量让我的项目保持干净。
有什么建议么?