CSS-файлы для каждого пользователя были бы возможны, но для использования Sprockets и конвейера по назначению для создания файлов потребуется немного возиться.
Для создания пользовательского CSS-файла выпридется:
1.Сгенерируйте манифест для пользователя.
Манифест будет включать в себя основной css через директиву звездочек и потребует self в конце вместе с пользователем css.
Файл манифеста будетнужно имя, уникальное для пользователя
2.Скомпилируйте манифест.
Вы не захотите скомпилировать их все, поэтому вам нужно написать что-нибудь, чтобы сделать именно то, что вам нужно.
3.Добавьте новый манифест в манифест конвейера
Это файл YAML, в котором содержатся сопоставления между именами манифестов и файлами в конвейере и их хэшированными аналогами.Вам нужно будет добавить к этому новый (или обновленный) хэш файла, не перекрывая другие записи.
4.Перезапустите приложение.
Это необходимо, поскольку Rails читает в манифесте конвейера при его запуске, поэтому вы не увидите никаких изменений, которые вы внесли, пока это не произойдет.
==
Тогда вы сможете ссылаться на CSS-файл на основе имени пользователя для пользователя.
При таком подходе каждый раз при развертывании пользовательский манифест будет перезаписываться.
Если вы сохраняете пользовательский CSS в базе данных, вы можете записывать пользовательские манифесты на каждомdeploy.
Другой подход - использовать конвейер для основного CSS и полностью игнорировать его для пользовательского CSS, просто делая то, что вы делаете сейчас.Используйте ссылку для конвейера CSS и секунду для пользователя CSS.Вы все еще можете минимизировать CSS при создании файла, но если о дополнительном запросе не может быть и речи, то что-то на основе вышеизложенного.
Удачи!