Po pierwsze, w przypadku, gdy jeszcze tego nie wiesz: nowy folder app/assets/audios
znajduje się już w ścieżce ładowania ... wystarczy ponownie uruchomić serwer w poszukiwaniu złączy, aby go odebrać.
W zasoby są dostępne pod adresem URL: /assets/<asset file name>
.
Na przykład zakładając, że plik wav znajduje się pod numerem /app/assets/audios/audio_file.wav
w systemie plików, będzie dostępny pod odpowiednim adresem URL /assets/audio_file.wav
w przeglądarce. Dzieje się tak dlatego, że oprogramowanie Sprockets/Dev-Rails przeszukuje folder /app/assets
i jego podkatalogi podczas lokalizowania zasobów.
W produkcji, prekompilacja zasobów (zwykle) dzieje się przy wdrażaniu. W tej chwili plik wav jest kopiowany na przykład do /public/assets/audio_file-<MD5 fingerprint>.wav
i jest dostępny pod odpowiednim adresem URL: /assets/audio_file-<MD5 fingerprint>.wav
.
Ze względu na różne style nazewnictwa używane między rozwojem a produkcją, za każdym razem, gdy chcesz odwołać się do zasobu, powinieneś to zrobić za pomocą metody pomocniczej (nawet w CSS!). Oznacza to, że produkcja obejmuje odcisk palca MD5, podczas gdy rozwój nie. Ale nie trzeba się martwić o jakichkolwiek że tak długo, jak używać pomocnika:
- Dla obrazów:
<%= image_tag('homes/logo.png') %>
- dany plik obrazu, który mieszka w /app/assets/images/homes/logo.png
w systemie plików.
- W przypadku niestandardowych zasobów, takich jak pliki audio:
<%= asset_path('audio_file.wav') %>
, które spowodowałyby względną ścieżkę /assets/audio_file.wav
.