過去3日間、これに苦労して無駄になりました。
私のGemfileには次のものがあります:
gem 'sass-rails', '3.1.5' # there is a problem with 3.1.6 and we need to downgrade until they update it.
gem "bootstrap-sass"
Bootstrap CSS は問題なく動作しますが、開発モードまたは運用モードでは画像が表示されません。
development.log には、GET エラーについて次のように記載されています。
GET http://localhost:3000/railsAdminApi/assets/glyphicons-halflings.png 404 (Not Found)
ご覧のとおり、プロジェクト名をパスの一部として使用してはいけません。
私のbootstrap_and_overrides.css.scss
ファイルにはこれがあります:
$iconSpritePath: asset-url("glyphicons-halflings.png", image) !default;
$iconWhiteSpritePath: asset-url('glyphicons-halflings-white.png', image);
このgithub ディスカッションasset-url
の代わりに使用することに注意してください。image-path
いずれにせよ、この変数に何を入れても (または に戻してもimage-path
) ルートは常に同じままで、何を試しても変更できません。
gem ファイルの vendor/assets/stylesheets/bootstrap/_sprites.css.scss ファイルを直接編集して (これはもちろん恐ろしいことです) 'assets/'
、Sass 変数の代わりに挿入すると、ブラウザはアイコンが見つからないというエラーを表示しなくなります。それでも画像は表示されません。
それはよりトリッキーになります:
Sass 変数を _sprites.css.scss に戻し、プリコンパイルすると、ローカル マシンでプロダクション モードのイメージが表示されます (ただし、開発モードではありません)。ただし、リモート サーバーでは、プロダクション モードで画像を表示する組み合わせはありません。
そのため、ブートストラップに関連するすべてのものをアンインストールするためのヘルプまたはおそらく方法を探しています (後でローカル マシンでアンインストールした他のブートストラップ gem をいじったため、クリーンアップがオプションになる可能性があります)。
ありがとう。
編集
簡単に言うと、gem を再び機能させるには、RVM を削除して rbenv をインストールする必要がありました。今回はtwitter-bootstrap-rails
どちらの方がうまく機能し、javascript エラーが少なくなりましたが、グリフと fontawesome フォントの両方で画像に同じ問題が残っています。
変数に何を入れても(今回はそれらを尊重しています)、常にプロジェクトパスrailsAdminApi
をパスに追加しているようです。
必死にroutes.rb
なって、探しているパスにアクセスできるように、ファイルにパスを追加できると思いました。
get 'railsAdminApi' => 'public/'
もちろん、Rails はパブリック コントローラーがないと文句を言っていますが、私はコントローラーなしで静的ルートを作成する方法を知りません。ソフトリンクを作成しようとしましたが、うまくいきませんでした。