Является ли это «рубиновым способом» создания веб-сайта на основе базы данных, модели сначала? - PullRequest
1 голос
/ 02 февраля 2012

Я записал в простом текстовом файле скрипт, который мне нужно запустить, чтобы сгенерировать мои модели для моего приложения Rails 3.2.1:

rails generate model Champion name:string title:string story:string smallpicture:string largepicture:string spotlight:string

rails generate model Item code:int name:string description:string cost:string

rails generate model RecommendedItems mapname:string item1:int item2:int item3:int item4:int item5:int item6:int champion:references

rails generate model GoodAgainst reason:string champion:references

rails generate model BadAgainst reason:string champion:references

rails generate model Spell name:string description:string effect:string cost:string range:string champion:references

rails generate model Tip tiptext:string champion:references

rails generate model ChampionStat name:string value:string modifier:string champion:references

rails generate model User summonername:string email:string password:string confirmpassword:string location:string canvoteonfavoritechampion:boolean

rails generate model FavoriteStream url:string user:references

rails generate model ChampionRanking startweek:datetime endofweek:datetime champion:references

rails generate model CustomBuilds item1:int item2:int item3:int item4:int item5:int item6:int champion:references

Теперь я понимаю, что могу запускать генерацию скаффолдов, но я решил, что сначала я буду запускать модель, а затем добавлять скаффолдинг по мере необходимости. Возможно ли это?

Это способ создания приложения на Ruby on Rails? Я нарисовал базу данных на бумаге и создал отношение внешнего ключа и использовал запись foo: ссылки, чтобы отметить отношения.

Это правильно?

Ответы [ 2 ]

2 голосов
/ 02 февраля 2012

Предполагая, что синтаксис ваших команд правильный, объективно ничего плохого в том, что вы делаете, нет, но я не думаю, что именно так должен был использоваться Rails.

То, что вы делаете, не очень Agile . В гибком программировании вы сосредотачиваетесь на том, чтобы доставить работающее программное обеспечение рано и часто. Таким образом, вы просто сделаете минимальное количество таблиц и столбцов, чтобы заработали первые несколько функций. Затем, как только вы это сделаете и продемонстрируете это своим клиентам / пользователям, вы решите, какую функцию добавить дальше, и добавьте таблицы и столбцы, которые вам для этого нужны. В конце концов у вас будет полное приложение.

Я думаю, что этот подход имеет некоторые преимущества, потому что вы можете узнать некоторые вещи о дизайне базы данных на ранних этапах проекта, которые помогут улучшить ваши решения в более поздней части проекта.

Я рекомендую прочитать Agile Web Development с Rails , если вы хотите увидеть пример того, как приложение будет разрабатываться таким образом.

Еще одна хорошая практика - разработка на основе тестирования . Идея в том, что вы должны писать только код для исправления неработающих тестов. Похоже, вы этого не делаете.

0 голосов
/ 02 февраля 2012

Это определенно один из способов создания приложения Ruby on Rails.

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

К вашему сведению: у Райана есть удобный инструмент для генерации строительных лесов, файлов макетов, аутентификации и многого другого. https://github.com/ryanb/nifty-generators

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