Я создаю простую систему тем для приложения rails 3. Тема состоит из папки, помещенной в Rails.root
/themes, содержащей
- Файл манифеста .yml
- некоторые файлы шаблонов liquid
- Подпапка статических ресурсов
Теперь для определенного контроллера/действия я хотел бы отображать представления из текущей темы и, соответственно, использовать статические ресурсы.
Следовательно, мне нужен способ сказать рельсам переписать
http://example.com/theme1/* ----> #{Rails.root}/themes/theme1/assets/*
http://example.com/theme2/* ----> #{Rails.root}/themes/theme2/assets/*
- ...
В настоящее время я не могу понять, как это сделать, так как я хотел бы избежать использования разных движков для каждой темы или копирования файлов активов в подпапку public
.
Как я могу решить эту проблему?
изменить: другие требования
Я искал что-то, что не нарушало бы значения по умолчанию для рельсов, таким образом, позже я мог бы воспользоваться новой функцией конвейера ресурсов (запланировано для рельсов 3.1).
На данный момент нашел только это:
config.asset_path = proc { |asset_path| "assets/#{asset_path}" }
это полностью удовлетворило бы мои требования, но, к сожалению, не будет применяться при включенном конвейере ресурсов.