2016-03-28 9 views
0

Ich versuche, herauszufinden, wie in Rails 4.Rails - mit hersteller Fonts im Kreditoren css in Rails 4 app - Asset-Pipeline

Das Thema verwendet einfache-line-Icons ein Wrap-Bootstrap-Thema für den Einsatz anzupassen . Ich habe versucht, diese Dateien in einen Font-Ordner in meinem App/Assets-Ordner sowie in die CSS-Datei in meinem Vendor/Assets/CSS-Ordner und den JS-Ordner in meinem Vendor/Assets/Javascript-Ordner zu verschieben.

Ich verstehe nicht, wie Pfade in der CSS neu zu schreiben, um die Vermögenswerte in einer Art und Weise zu verweisen, die Schienen, sie zu lesen zu bekommen.

Zum Beispiel, einer der CSS-Dateien, die folgenden Leistungen enthält:.

@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; 
} 

Ich verstehe, dass die URL (../ .. Teil ein Problem für die Schienen ist, was ich kann nicht herausfinden, wie gem Schienen-12factor installiert in meiner Produktionsumgebung, um es zu lösen.

ich habe. ich habe eine Million Variationen (gezeigt in den Schienen Führungen) versucht, aber ich kann nichts finden, das funktioniert.

kann Jeder sieht, was zu tun ist?

In diesem Artikel wird vorgeschlagen, den Ordner "fonts" nicht in Referenzmaterialdateien für Anbieter-Assets aufzunehmen. https://gist.github.com/iamatypeofwalrus/6467148

Ich habe versucht, mit und ohne es aber weder Art und Weise funktioniert.

Dieser Artikel schlägt vor, dass Anbieter Datei ohne Änderung der initialiser nicht in der Lage ist, Schriftarten zu speichern. Ich habe das versucht, aber es funktioniert auch nicht. 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

Ich habe jetzt diesen Beitrag gefunden, dass die in der Produktion für Heroku Compliance schon sagt, ich brauche alles mit Asset-Pfad Helfer zu ersetzen, und benennen Sie die Dateien .erb hinzufügen zu Bildern und css und .coffee zu js. Bevor ich das tue, kann jemand bestätigen, dass dies tatsächlich erforderlich ist, und wie ich die obige CSS-Datei ändern würde, um den Anforderungen von Heroku zu entsprechen.

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

+0

Setzen Sie diese Dateien in app/Vermögen Verzeichnis und Sie können auf sie mit dem Pfad 'src: url ("/assets/Simple-Line-Icons.eot ") zugreifen;' –

+0

Nein, es gibt Hersteller-CSS-Dateien und Hersteller-JS-Dateien, also muss ich sie zusammenhalten. Ich habe versucht, Anbieter/Assets/Schriftarten, aber es funktioniert nicht – Mel

Antwort

2

Eigentlich hinzugefügt jedes Unterverzeichnis zu assets Verzeichnis an die Last auto ist Pfade hinzugefügt. Auf Dateien in diesen Verzeichnissen kann als normales Asset zugegriffen werden.

Wenn Sie

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

dann Anbieter haben/assets/fonts/sollten Wege laden hinzugefügt werden.

Dann können Sie alle Schriftart-Dateien auf Ihre CSS-Dateien mit Pfad hinzufügen: font/file_name

Denken Sie daran, Ihren Server danach neu zu starten als Lastpfade nach dem Neustart den Servers neu geladen werden.

Sie können die Liste der Lastpfade durch rails console durch folgenden Befehl sehen:

Rails.application.config.assets.paths 

Sie können folgenden Befehl neue Lastpfade hinzufügen:

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

Weder Hersteller/Assets/Schriftarten/Simple-Line-Icons noch Vendor/Assets/Simple-Line-Icons funktioniert. Ich weiß nicht, was Sie mit font/file_name meinen. Das obige Beispiel zeigt, wie es in den CSS-Dateien (mit src URL) verwendet wird. Mein Konsoleninspektor zeigt 404 Fehler in beiden Richtungen – Mel

+0

Führen Sie diese 'Rails.application.config.assets.paths' in Ihrer Rails-Konsole aus, und fügen Sie die Ausgabe hier ein. –

+0

'src: url ("/assets/Simple-Line-Icons.eot ");' sollte funktionieren! –