Как стать автором
Обновить

Комментарии 26

Мне наоборот при знакомстве с Rails показалось, что скаффолдинг там как то не совсем к месту… Скорее это замануха для начинающих, которую они используют для создания первого блога, типа смотрите как быстро и круто.

Впрочем, кто-то из создателей rails писал, что, в общем то, так и есть, и для настоящей разработки скаффолдинг, скорее всего, не потребуется.

Тем более идея скаффолдинга несколько противоречит TDD, как бы его под себя не настраивали.

А в целом, статья про кустомные генераторы познавательна, спасибо!
Скаффолдинг может оказаться полезным когда вы создаёте много однотипных страниц, например при написании админки к большому информационному порталу.
Что касается TDD — это хорошая практика использовать генераторы при написании кода. Например вы пишете тест, потом генерируете необходимые файлы, немного кастомизируете и вуаля.
Пример того как это выглядит в жизни, можно посмотреть здесь railscasts.com/episodes/155-beginning-with-cucumber.
Когда пишется админка, модели и тесты для них, как правило, уже имеются, скаффолдинг тут каким боком?

Кроме того, скаффолдинг плохо решает такие вещи, как вложенные ресурсы, неймспейсы, сингл ресурсы и тп.

Мне ближе подход, когда я генерирую минимальный функционал и дописываю его, чем допиливаю скаффолд.
>> Когда пишется админка, модели и тесты для них, как правило, уже имеются, скаффолдинг тут каким боком?
Пример из жизни — я разрабатываю финансовую программу в которой много однотипных справочников: сотрудники; должности; автомобили; модели автомобилей; типы кузовов автомобилей и т.п. Идея скаффолдинга отлично вписывается в этот проект.

>> Мне ближе подход, когда я генерирую минимальный функционал и дописываю его, чем допиливаю скаффолд.
Тоже отличный подход, оправданный на многих проектах. В этом случае на помощь приходят кастомные генераторы.
НЛО прилетело и опубликовало эту надпись здесь
а я бы не стал его советовать. только для быстрого прототипирования.
НЛО прилетело и опубликовало эту надпись здесь
сделал на нем админку для сайта. ужасно жалею. поддерживать и развивать — сплошной мат. dryml компилируется вечность, полное отсутствие сообщений об ошибках. разобраться что и почему не помагают даже исходники, так как там абстракция на абстракции. вот сделали вы страницу с формой — а форма не отображается. почему — а хер его… оно ни в логах ни где-то еще об этом не скажет. нафиг-нафиг. сейчас есть огромное количество — гемов-помощников, проще и лучше все сделать без подобных автоматизаторов всего и вся одной строчкой кода.
НЛО прилетело и опубликовало эту надпись здесь
devise, declarative_authorization, formtastic, search_logic, compass…
Чуть иначе: devise, cancan, meta_search, compass, kaminari
За formtastic спасибо, не знал.
Можете что-нибудь сказать о saas?
*sass
Отличный язык, пользую. Правда, не sass, а scss. Можно петь много дифирамб, как и haml`у, но лучше просто дать ссылку на оффсайт — http://sass-lang.com/
В последнем проекте использовал haml и словил оргазм. На сайте haml ссылка на scss, я посмотрел и скоро перепишу свой css с его помощью.

А вопрос возник потому что вы написали про compass, как я понял из беглого прочтения Readme на github, эта штука тоже работает с CSS. В чем отличие sass-lang.com/ от compass?
В том, что compas — это набор хелперов для, собственно, sass.
Очень удобны скафолды когда нужно что-то проверить — в две команды генерируется готовое приложение и скаффолд, что дает, фактически, готовое приложение-песочницу.
Спасибо, интересная статья. Еще посоветовал бы посмотреть на гитхабе nifty-generators от Райана Бейтса, тоже отличный пример на эту тему в плане отправной точки к написанию своих генераторов.
Спасибо за совет, форкнул. Посмотрю как будет время
Задание параметра per_page в модели как-то омерзительно, тем более что его можно указать при метода вызове will_paginate (т.е. в контроллере). Не понимаю, почему сам автор гема так делает в примере на гитхабе.
Вероятно логика такова: раз этот параметр используется для построения запросов к базе, то и место ему в модели.
НЛО прилетело и опубликовало эту надпись здесь
И вам спасибо за отзыв.
Нет не доводилось, можете описать его суть в двух словах?
Не пользуйтесь will paginate. Он фактически мертв, плохо поддерживается и так и не был переписан для нормальной поддержки скоупов. Используйте kaminari…
Спасибо, попробую
руби достаточно динамический язык, чтобы использовать абстракции вместо кодогенерации. зачем в него тянут худшие практики из статических языков? вам нужно 100500 страничек в админке? ну так подметьте, что между ними общего. наследование, агрегация, свойства — всё это позволит не повторять себя и не плодить копипасту.
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории