2017-02-04 14 views
0

Ich habe einige Zweifel über die Ordner, auf denen ich die öffentlichen Dateien legen sollte.
Wir haben im Root-Pfad ein Ordner öffentlichen und einige andere Ordner in App (Schienen 5.0.1 für mich) genannt, lassen Sie mich Ihnen die, die zeigen, was für mich seltsam klingen:Ruby on Rails Dateien einrichten

  • app/assets/(Bilder | javascripts | Stylesheets)
  • app/views/pages

Nach mehreren Tutorials zu lesen und Bestehende öffentliche Projekte, sah ich, dass einige Leute seine Web-Vorlage in public (js, css und Bilder enthalten).
Doch in meinem Fall, weil ich es schon ein paar Mal gesehen und Logik gefunden habe, habe ich meine Vorlage in Assets Trennung meiner js, Sass (in meinem Fall) Dateien und Bilder in den Ordnern bereits erstellt durch den RoR-Generator.

Zusätzlich scheint es logisch für mich, meine Dateien in Assets zu legen, da mein Hauptlayout meine Vorlagendateien in Assets mit der Framework-Standard-API aufnehmen wird. Die folgende Zeile funktioniert für mich und werde meine laden app/assets/Stylesheets/app.css.scss Datei

<%= stylesheet_link_tag 'app', media: 'all', 'data-turbolinks-track': 'reload' %> 

Hoffnung jemand erklären könnte, was ist der bessere Weg, ich bin Anfänger mit Rails, Dank .

+0

Geben Sie Ihre js, sass und Bilder in das Verzeichnis "Assets" ein. Dadurch werden sie der Asset Pipeline hinzugefügt. – trueinViso

Antwort

1

app/assets/

Hier können Sie benutzerdefinierte Vermögenswerte setzen (Bilder, js/css-Skripte, die Sie besitzen und benutzerdefinierte Anwendung)

Verkäufer/assets/

Dies ist für Bibliotheken von Drittanbietern, die Sie in Ihrer App verwenden (Karussell js-Plugin, etc.)

. 
├── app 
│   ├── assets (custom assets specific to your app)  
├── public (static-files like error pages, favicon, etc which does not change much) 
├── vendor 
│   └── assets (third party libraries that your app uses) 
in Vermögenswerte precomile Pfad

Precompiled Assets

Ihr Vermögen alle Pfade hinzufügen (Bilder, js/CSS-Dateien) in config/initializers/assets.rb in Ihrer Anwendung verwendet (application.css und application.js standardmäßig enthalten sind)

all

das Vermögen, wenn vorkompilierte mit

bundle exec rails assets:precompile 

Dies erzeugt public/Vermögen Verzeichnis mit allen Assets konfigurierten in Ihrem precompile Pfad als leicht servierbaren statische asse ts, die dann Ihren Bewerbungsantworten zugestellt werden.

+0

Ok, also sollte Vendor/Assets meine Lib enthalten? wie Foundation oder Bootstrap? –

+0

Ja .. Das stimmt! – sa77

+0

Danke wirklich hilfreiche Antwort! Eine andere Frage, ich benutze nicht die Standard application.css in Assets/Stylesheets, ich benutze meine eigene app.css.scss (für Bild-URL in meinem CSS-Code). Ist es schlecht oder nicht? Ich benutze nicht benötigt etc .. Ich verstehe nicht genau, wie es funktioniert. Rails kompiliert sich meine scss-Dateien? –