Ich habe eine Menge statischer Assets (keine jpg, css & js) - sondern Dateien wie pdf-Formulare, xls, die ich den Benutzern zur Verfügung stellen muss. Sie ändern sich selten. Früher habe ich sie im öffentlichen Ordner gespeichert, aber mit der Einführung des Asset-Pipelines in Rails 3.1, wo ist jetzt der beste Ort, um Dateien wie diese zu speichern?
Antworten
Zu viele Anzeigen?Eigentlich habe ich es nur getestet, indem ich einen Ordner in app/assets/files erstellt und meine XLS-Dateien dort hineingesteckt habe, und die Rake assets:precompile-Aufgabe hat es einfach so aufgegriffen.
Außerdem muss dies für Rails < 3.1 hinzugefügt werden:
# Aktivieren der Asset-Pipeline
config.assets.enabled = true
config.assets.paths << "#{Rails.root}/app/assets/files"
Der beste Ort für Artikel wie diesen ist immer noch das Verzeichnis /public
. Denken Sie daran, dass Ihr Webserver diese Assets auch direkt bereitstellen sollte.
Das Assets-Verzeichnis wird nur benötigt, wenn Sie von dem Asset-Pipeline profitieren möchten. Die Asset-Pipeline kümmert sich um Dinge wie das Komprimieren und Kompilieren von .coffee
und .less
oder sass
Dateien bis hin zum Komprimieren von js und css in eine Datei, sodass Ihr Webserver nur eine Datei für jedes davon bereitstellen muss.
Wenn Sie Ihre Assets mit der Rake-Aufgabe bundle exec rake assets:precompile
kompilieren, werden sie ohnehin in Ihr öffentliches Verzeichnis verschoben.