2016-03-28 10 views
0

アセットパイプライン - Railsの4アプリでベンダーCSSのベンダーのフォントを使用して。これらのファイルを私のapp/assetsフォルダ内のフォントフォルダと、vendor/assets/cssフォルダのcssファイルと、vendor/assets/javascriptフォルダのjsフォルダに移動しようとしました。Railsの - 私は4</p> <p>テーマはシンプルなライン・アイコンを使用していますRailsの中で使用するためにラップのブートストラップのテーマを適応させる方法を把握しようとしている

私はcss内のパスを書き換えて、アセットを参照するための方法でアセットを参照する方法を理解していません。例えば

、CSSファイルのいずれかが、次のものがあります。

@font-face { 
    font-family: 'Simple-Line-Icons'; 
    src: url("../../fonts/Simple-Line-Icons.eot"); 
    src: url("../../fonts/Simple-Line-Icons.eot?#iefix") format("embedded-opentype"), url("../../fonts/Simple-Line-Icons.woff") format("woff"), url("../../fonts/Simple-Line-Icons.ttf") format("truetype"), url("../../fonts/Simple-Line-Icons.svg#Simple-Line-Icons") format("svg"); 
    font-weight: normal; 
    font-style: normal; 
} 

私はURLは(../ ..部分がレールのための問題であり、私は把握することはできません何がどのようにあることを理解しています。それを解決するために。

を私は(レールガイドに示されている)百万バリエーションを試してみた。私の本番環境にインストールレール-12factorの宝石を持っているが、私は働く何かを見つけることができません。

缶誰でも何をすべきか見ていますか?

この記事では、ベンダーアセットフォントファイルを参照する際に 'fonts'フォルダーを含めないことを提案しています。 https://gist.github.com/iamatypeofwalrus/6467148

私はそれを含めたり除外しようとしましたが、いずれの方法でも動作しませんでした。

この記事では、ベンダーファイルが初期化プログラムを修正せずにフォントを格納できないことを示しています。私はそれを試みたが、どちらもうまくいかなかった。 Using fonts with Rails asset pipeline

Rails.application.config.assets.paths 
=> ["/Users/cf3/app/assets/images", "/Users/cf3/app/assets/javascripts", "/Users/cf3/app/assets/stylesheets", "/Users/cf3/vendor/assets/fonts", "/Users/cf3/vendor/assets/javascripts", "/Users/cf3/vendor/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/underscore-rails-1.8.3/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/gmaps4rails-2.1.2/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chosen-rails-1.4.3/vendor/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/chartkick-1.4.1/app/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/formtastic-2.2.1/app/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/surveyor-5281b317a559/lib/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/dependent-fields-rails-0.4.2/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/cocoon-1.2.6/app/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/jquery-rails-4.0.5/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/coffee-rails-4.1.0/lib/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/bundler/gems/momentjs-rails-eda1b74512db/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-slider-rails-5.3.1/vendor/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-slider-rails-5.3.1/vendor/assets/stylesheets", "Rails/vendor/assets/fonts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/javascripts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/fonts", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/bootstrap-sass-3.3.5.1/assets/images", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/font-awesome-sass-4.4.0/assets/stylesheets", "/Users/lem/.rvm/gems/ruby-2.3.0/gems/font-awesome-sass-4.4.0/assets/fonts"] 

Herokuの

私は今、それが生産のHerokuの遵守のために、私は.erbを追加するために、資産パスヘルパーですべてを交換し、ファイルの名前を変更する必要があることを示唆している、この記事を見つけました画像とCSS、そしてコーヒーをjsに変換します。私がこれを行う前に、誰かがこれが実際に必要であることを確認して、私が上記のCSSファイルをherokuの要件に適合するように変更する方法を教えてください。

http://joanswork.com/wrapbootstrap-theme-to-rails/

+0

アプリ/ assetsディレクトリにこれらのファイルを入れて、 'src:url("/assets/Simple-Line-Icons.eot ");' –

+0

いいえ、ベンダーのCSSファイルとベンダーのjsファイルがあるので、それらをまとめておく必要があります。ベンダー/アセット/フォントを試しましたが、機能しません。 – Mel

答えて

2

実際にはサブディレクトリがassetsディレクトリに追加自動負荷 パスに追加されます。これらのディレクトリにあるファイルは、通常のアセット ファイルとしてアクセスできます。

あなたは

vendor/assets/fonts/Simple-Line-Icons.eot 

その後、ベンダー/資産/フォントをお持ちの場合/パスをロードするために追加する必要があります。

次に、あなたのパスとあなたのCSSファイルにすべてのフォントファイルを追加することができます。font/file_name

は、荷重経路は、サーバーを再起動した後にリロードされますと、この後、サーバーを再起動することを忘れないでください。

あなたは、次のコマンドによって rails consoleを介して負荷パスのリストを見ることができます

Rails.application.config.assets.paths 

あなたは以下のコマンドにより、新しいロードパスを追加することができます。

config.assets.paths << Rails.root.join("vendor", "assets", "fonts") 
OR to autoload : config.autoload_paths << Rails.root.join("vendor", "assets", "fonts") 
+0

ベンダー/アセット/フォント/シンプルラインアイコンもベンダー/アセット/シンプルラインアイコンも機能しません。私はfont/file_nameの意味を知らない。上記の例は、src urlを使ってcssファイルでどのように使用されているかを示しています。私のコンソールインスペクタは両方の方法で404エラーを表示します – Mel

+0

この 'Rails.application.config.assets.paths'をあなたのレールコンソールで実行し、ここに出力を貼り付けます。 –

+0

'src:url("/assets/Simple-Line-Icons.eot ");'動作するはずです! –

関連する問題