Я уверен, что у каждого свой рабочий процесс, но я думаю, что типичным является следующий:
Укажите «домен» вашего проекта.Возможно, это звучит глупо, но прежде чем начать, вы должны действительно подумать о том, что именно ваш сайт собирается предложить.Он не должен быть конкретным вплоть до последней детали, но должен иметь представление, чтобы вы могли выполнить следующий шаг ...
Разработка схемы базы данных.Я обычно просто планирую это на бумаге.Существует настоящее искусство создания нормализованной базы данных.Подумайте обо всем, что должно быть «постоянным» в вашем приложении, потому что оно должно быть в базе данных и учитываться с как можно меньшим дублированием.
После этого я обычноделай как говоришь: создай мои модели (и попутно скрипты миграции).Главное, что вы хотите вначале описать в своих моделях, это ассоциации с другими моделями.
Следующая часть зависит от того, насколько вы удобны как разработчик в Rails.Многим людям нравится подход разработки на основе тестов (TDD), и они будут писать модульные тесты (Rails предоставляет отличные возможности для их написания, а также создает задачи для их запуска).Однако, поскольку вы только учитесь, вы, возможно, захотите написать свои тесты после реализации бизнес-логики модели.
Путь после этого в значительной степени зависит от вас.Вы можете работать с вашими представлениями / контроллерами / моделями так, как вам нужно.Это одна из прелестей Rails и гибкой разработки, вам не нужно много кода для начала работы.
Я, наверное, странный в этом, но обычно я создаю свою первую страницу и получаю некоторыеОсновы работы с CSS, так как я считаю, что я более продуктивен, если мои результаты выглядят довольно прилично.
Я бы, вероятно, не стал создавать скаффолды ... Я думаю, вы узнаете намного больше о фреймворке и потратитеменьше времени на удаление ненужного кода, если вы сами сгенерируете отдельные части.
В контексте разработки с командой все может быть иначе.Если у вас много сложной бизнес-логики, некоторые люди могут тратить большую часть своего времени на написание кода модели, в то время как люди, больше занимающиеся дизайном, будут внедрять код представления.Но вам, конечно, придется встретиться в середине, что станет легче по мере роста вашего проекта и его модульности.Просто не забудьте использовать систему контроля версий!Subversion, если вы хотите что-то простое в использовании и изучении, Git, если вы готовы принять вызов.