В настоящее время я разрабатываю приложение, в котором пользователи могут выбирать тему и публиковать свою страницу.Использование конвейеров/активов с несколькими каталогами ресурсов
Для того, чтобы достичь этого, я организовал мой Ruby, Rails на проект следующим образом:
> app
> controllers
> helpers
> mailers
> models
> views
> assets
> stylesheets
- style.scss
> images
- image.jpg
> javascripts
> themes
> theme_1
- layout.html.erb
> assets
> stylesheets
- style.scss
> images
- image.jpg
> javascripts
> theme_2
> ....
При использовании встроенных помощников, таких как stylesheet_link_tag
и image_tag
в/приложение/Темы/theme_1/layout.html.erb, я хочу, чтобы эти помощники использовали активы, расположенные в их собственном каталоге.
Например, при использовании следующего кода в /app/themes/theme_1/layout.html.erb:
<%= image_tag('image.jpg') %>
Я хочу показать изображение находится в папке/приложения/темы/theme_1/активы/images/image.jpg, а не изображение, расположенное в /app/views/assets/images/image.jpg. То же самое касается использования stylesheet_link_tag
и style.scss.
Так что, в основном, я хочу знать, есть ли, например, способ определить каталог, в котором будут встроены встроенные помощники, такие как stylesheet_link_tag
и image_tag
, потому что на данный момент у меня возникают конфликты при связывании с активами, которые поделиться своим именем с другими активами, расположенными в разных папках.
Помощь приветствуется, другие идеи, как я мог бы это сделать, очень приветствуются.
Спасибо за ваш ответ. Теперь, когда это исправляет мою проблему, мне все еще интересно, есть ли решение, в котором я могу сохранить тег-ресурсы, содержащиеся в их собственном каталоге, вместо создания новых каталогов во всех подкаталогах внутри 'app/assets /' для каждого и каждая тема. Я должен признать, что ваш пример, вероятно, более обычный способ, и я знаю, что придерживаться конвенций является предпочтительным способом делать вещи с Ruby on Rails, но в моем случае я могу придумать множество преимуществ с точки зрения гибкости, если я смогу сохранить активы моих тем отделены от остальной части моего приложения. – guy1997