Хранить интерфейсные функции в Rails? - PullRequest
1 голос
/ 25 августа 2010

В общедоступной папке у нас есть таблицы стилей, javascripts и изображения.

Я хочу добавить интерфейсную функцию, которая имеет свои собственные css, js и изображения, но в соответствии с этой иерархией я должен хранить ихкак это:

stylesheets/calendar/main.css
javascripts/calendar/cal.js
javascripts/calendar/cal2.js
images/calendar/front.jpg
images/calendar/button1.jpg
images/calendar/button2.jpg
images/calendar/button3.jpg

Мне не нравится, что я вообще разделил функцию.

Есть ли способ вместо этого организовать файлы по функции?

calendar/stylesheets/main.css
calendar/javascripts/cal.js
calendar/javascripts/cal2.js
calendar/images/front.jpg
calendar/images/button1.jpg
calendar/images/button2.jpg
calendar/images/button3.jpg

Это была бы лучшая структура, следуя схеме ООП.

Ответы [ 3 ]

3 голосов
/ 25 августа 2010

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

Это система, которую мы сейчас используем:

Поместите файлы в каталоги, соответствующие «макету», к которому они применимы:

/web/images
/web/javascripts
/web/stylesheets

/mobile/images
/mobile/javascripts
/mobile/stylesheets

/admin/etc

Каталоги верхнего уровня (/ images / javascripts / stylesheets) используются для действительно распространенных элементов (таких как jquery, сценарии сброса css и стандартные логотипы).

Клиентские библиотечные пакеты должны храниться в своем собственном каталоге, а не распространяться в стандартные каталоги Rails. Это очень помогает долгосрочному обслуживанию.

Использование colorbox в качестве примера:

Вместо:

 /javascripts/colorbox.js
 /stylesheets/colorbox.css

Имеем:

 /web/libs/colorbox/colorbox.js
 /web/libs/colorbox/colorbox.css
2 голосов
/ 25 августа 2010

Я, Слободан Ковачевич прав,

Вы можете организовать в любом месте,

Другой способ сделать это,

stylesheet_link_tag "#{RAILS_ROOT}/calendar/stylesheets/main.css"

следуйте этой процедуре, когда у вас возникнут проблемы на

stylesheet_link_tag '/calendar/stylesheets/main.css'

Вам нужно оптимизировать это другим способом, используя метод Helper.

вызов каждого файла из помощника и использование его на рельсах.

1 голос
/ 25 августа 2010

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

Например, вв случае stylesheet_link_tag вам нужно сделать что-то вроде:

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