0

zurb-foundation を追加しようとしている既存の Rails 3.2.14 アプリケーションがあります。zurb-foundation gem を追加し、インストール ジェネレーターを実行しました。

私の問題は、ページを読み込もうとするたびに、次のエラーが発生することです。

couldn't find file 'foundation'

スプロケットが当たったとき

//= require foundation

application.js の行

問題は、zurb-foundation gem のアセットを含むディレクトリがロード パスに追加されていないことです。対照的に、最初から zurb-foundation を含む、最近生成したアプリケーションがあり、@asset_paths.asset_environment.paths には次のものが含まれています。

"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-rails-3.0.4/vendor/assets/javascripts", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/coffee-rails-3.2.2/lib/assets/javascripts", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/zurb-foundation-4.3.0/scss", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/zurb-foundation-4.3.0/js"

更新中のアプリのアセット ロード パスに含まれていません。代わりに、(better_errors 診断ウィンドウで p @asset_paths.asset_environment.paths を使用して)取得しています

"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-ui-rails-4.0.4/app/assets/images", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-ui-rails-4.0.4/app/assets/javascripts", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-ui-rails-4.0.4/app/assets/stylesheets", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-rails-3.0.4/vendor/assets/javascripts", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/coffee-rails-3.2.2/lib/assets/javascripts" 

興味深いことに、コンソールを開発モードで実行し、Rails.application.config.assets.path を見ると、以下が含まれています。

"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-ui-rails-4.0.4/app/assets/images", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-ui-rails-4.0.4/app/assets/javascripts", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-ui-rails-4.0.4/app/assets/stylesheets", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/jquery-rails-3.0.4/vendor/assets/javascripts", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/coffee-rails-3.2.2/lib/assets/javascripts", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/zurb-foundation-4.3.1/scss", 
"/usr/local/var/rbenv/versions/1.9.3-p327/lib/ruby/gems/1.9.1/gems/zurb-foundation-4.3.1/js"

そして、それには zurb-foundation アセット パスが含まれます。

私は gem 'zurb-foundation' を assets グループ、development グループ、およびどのグループにも含めませんでした。新しいアプリで zurb-foundation-4.3.1 を使用しています。

私の Gemfile アセット グループは次のとおりです。

group :assets do
  gem 'sass-rails'
  gem 'coffee-rails'
  gem 'uglifier'
  gem 'compass-rails'
  gem 'zurb-foundation'
end

この問題は、ZURB Foundation の Sprockets::FileNotFound に似ているようですが、Jurriaan はアセットのロード パスについて言及していません。

私が見逃している可能性のあるものはありますか?

ありがとう!

4

2 に答える 2

0

これは、財団のエントリが load_path に追加されるのを妨げていた gem の問題でした。関連する gem は、mongomapper でバージョン管理されていました。

その宝石をロードしないことで、問題は解決しました。gem を追加し直すと、問題が再発します。

その宝石は 2 年間何の活動もしていません。何か他のものを見つける時が来たと思います。

于 2013-08-24T16:46:05.873 に答える
0

ウェブサーバーを再起動してみましたか?

更新: 開発中は正常に動作するとおっしゃいましたが、rake assets:clean と rake assets:precompile を試しましたか?

于 2013-08-24T07:36:16.640 に答える