Способы организации CSS в проекте Rails - PullRequest
0 голосов
/ 06 марта 2011

Я хотел бы знать, как лучше организовать CSS-код в проекте Rails? Мне интересно, как ты это делаешь и почему.

Ответы [ 4 ]

4 голосов
/ 06 марта 2011

Если вы хотите разбить свой css на несколько файлов во время разработки, вы можете добавить cache => true к stylesheet_link_tag и rails автоматически объединит их в один файл в процессе производства,Это также работает для javascript_include_tag .

http://guides.rubyonrails.org/layouts_and_rendering.html#linking-to-javascript-files-with-javascript_include_tag

3 голосов
/ 06 марта 2011

Как правило, вы должны , а не , чтобы клиент загружал огромное количество фрагментов CSS, но упаковывал их в один файл на сервере, чтобы избежать задержек при рендеринге. Таким образом, у вас есть компромисс между разделением функциональности на несколько файлов и желанием отправить только один файл клиенту.

Вы можете использовать SASS , чтобы поместить каждый фрагмент кода в один включаемый файл и просто включить все вместе. Это дает вам дополнительное преимущество в виде миксинов (вроде макросов) и переменных среди других замечательных вещей.

Другой возможностью было бы использовать простой CSS и использовать что-то вроде Jammit , чтобы упаковать материал для отправки клиенту.

Что касается фактических настроек, у меня, как правило, один файл, сбрасывающий стили до известного по умолчанию, файл для базовой компоновки (столбцы, пробелы по умолчанию, ...) и по одному файлу для каждой интересующей вас области. дизайн (заголовки, кнопки, ...)

0 голосов
/ 14 декабря 2011

Поскольку Rails 3.1 выпущен, а звездочки заменены Jammit, здесь приведена выдержка из руководств Rails, касающихся организации активов:

Организация активов

Активы можно размещать внутри приложения в одном из трех мест: приложение / активы, lib / assets или vendor / assets.

  • приложение / assets для активов, которые принадлежат приложению, таких как пользовательские изображения, файлы JavaScript или таблицы стилей.

  • lib / assets предназначен для кода ваших собственных библиотек, который на самом деле не вписывается в область применения приложения или тех библиотек, которые совместно используются приложениями.

  • vendor / assets для активов, которые принадлежат сторонним организациям, таким как код для плагинов JavaScript.

0 голосов
/ 09 апреля 2011

Ответы Джеймса и Хольгера очень хороши.

Помимо организации CSS в моих проектах, мне также пришлось несколько раз менять цветовые схемы. Попытка внести согласованные изменения во многие CSS-файлы может быть довольно болезненной(результаты могут отличаться).

В итоге я немного расширил процедуру запуска Rails, включив в нее собственный модуль "site_settings.rb", с помощью которого я могу определить переменную для цветов и другие атрибуты CSS, которые язатем можно использовать во всех моих входных файлах CSS.

При каждом запуске Rails и изменении одного из входных файлов автоматически генерируются файлы CSS.

http://unixgods.org/~tilo/Ruby/Using_Variables_in_CSS_Files_with_Ruby_on_Rails.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...