Mamy aplikację szyny, którą niedawno zaktualizowałem z Rails 3.0 do Rails 3.2. Ta aplikacja obsługuje wielu klientów. Aby dostosować go do każdego klienta, mamy katalog app/themes
. W tym są podmodulki. Każdy submoduł zawiera takie rzeczy, jak locales/en.yml
, views/layouts
, views/controller_name
itp. Używamy prepend_view_path
do dodawania widoków motywu, a I18n.load_path
do dodawania ustawień regionalnych. Chcemy wykorzystać potok zasobów, aby zachować cały zestaw materiałów klienta z publicznego katalogu i zachować go w każdym motywie.Dodać ścieżkę do folderu potoku?
Czy mogę dynamicznie powiedzieć szynom, aby załadować folder temat/nazwa-folderu/zasobu? Używamy logiki ustawień, aby ustawić, który temat jest aktywny. Więc jeśli mam motywu zestaw do „google”, to ApplicationController
następnie ładuje pliki z drogi:
app/themes/google/locales/*.yml
app/themes/google/views
Co chciałbym być w stanie zrobić, to mieć plik manifestu,
app/themes/google/assets/stylesheets/application.css
łatwo dostępne dla układu, tak jak byś w app/views/layouts
pliku:
= stylesheet_link_tag "application"
Czy istnieje sposób mogę to zrobić? czy musimy ręcznie przenieść zasoby do rzeczywistego katalogu zasobów?
Jest na to sposób, aby załadować zasobów na kontrolerze, ale to nie jest to, czego szukasz. Można uznać, że ten potok-potok (w produkcji) prekompiluje i optymalizuje wszystkie zasoby w jednym pliku (odpowiednio 'application.js' i' application.css') w '/ public'. Celem jest zmniejszenie liczby wywołań do serwer do pobierania zasobów. –