r00t_aka_spin
@r00t_aka_spin
рубист-сатанист

Сборка проекта на rails

Делаю свой первый проект на рельсах и хочу задать вопрос по структуре проекта.

Проект находится на гитхабе, допустим у меня используется несколько плагинов jquery (находятся в /app/assets/javascript), добавлять их в свой репозиторий мне кажется не очень хорошим тоном.

Существует ли в rails такой сборщик, который при сборке проекта в продакшене скачивает откуда надо все необходимые плагины для JS?

P.S. Использую rails 3.2
  • Вопрос задан
  • 3966 просмотров
Пригласить эксперта
Ответы на вопрос 3
unloved
@unloved
1. вы хотите контролировать версии библиотечных скриптов — вы держите их в vendor/assets. Тут кстати можно использовать гем vedorer, которому можно скормить ссылки на оригинальные библиотеки и указать локальный путь по которому их класть. при вызове rake задачи vendorer обновляет указанные файлы. ну а при деплое можно эту задачу и на серевере вызывать =)
2. вам без разницы какой версии будут скрипты — ставите ссылки на CDN
Ответ написан
int03e
@int03e
Ну не держите их в проекте, просто ставьте ссылки на CDN.
Ответ написан
Комментировать
FanKiLL
@FanKiLL
app/assets — для файлов которые принадлежат или созданы самой аппликации.
lib/assets — для своих библиотек, которые вы сами написали и принадлежат вам.
vendor/assets — для библиотек от сторонних разработчиков.

Это не решает вашей проблемы, но хоть не будете мешать свои файлы с чужими библиотеками. Я тоже начал всё кидать в app/assets в этом ничего страшного нет, просто не красиво и руки не доходят переставить всё на свои места — лень…

Для популярных фрейморков есть gem's, которые можно подключить в gemfile
# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'bootstrap-sass'
  gem 'chosen-rails'
  gem 'angularjs-rails'
  gem 'markitup-rails'
  gem 'font-awesome-rails'
end


Поищите возможно есть gem, который вам нужен.
Например Jquery плагины.
  gem 'chosen-rails'
  gem 'markitup-rails'


Как вариант я сам не пробовал, можно добавить папку в asset-pipeline

config/application
config.assets.paths << "/home/username/Dropbox/jsLibs"

И ставить библиотеки в дропбокс.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы