Open KarambaKG opened 8 years ago
Предыстория:
В проекте есть модели PostCategory и Post, которые отражают категории записей(постов) пользователей и сами посты. Так как на текущей стадии разработки базу данных мы регулярно дропаем, было бы удобно иметь какие-то данные в этих таблицах и не создавать их всякий раз вручную.
Задача: Нужно создать фикстуры(сиды) для моделей PostCategory и Post для баз данных development и test.
Способ решения: Прописать сиды в файле db/seeds.rb сначала для PostCategry c одним полем name (от 3 до 10 категорий, но первой обязательно должна идти категория "Проьба о помощи"). После этого прописать данные для создания объектов Post, у каждого из которых должны быть поля:
Важно, чтобы перед создание объектов поста, в базе уже были объекты организаций, пользоваелей и категорий поста.
После этого эти же фикстуры нужно скопировать и добавить в файл features/support/seeds.rb
Хорошо было бы использовать для генерации данных какую-то фабрику, например, Ffaker https://github.com/ffaker/ffaker
Тестирование.
После создания сидов, нужно дропнуть базу, прогнать миграции и сиды командами в консоли: rake db:drop rake db:reset rake db:seed
И проверить в рельсовой консоли наличие ообъектов:
rails c
PostCategory.all
Post.all
Прописать seed на PostCategory и Post