Какова область применения кода в db / seed.rb в Ruby on Rails? - PullRequest
2 голосов
/ 09 декабря 2010

Вопрос 1

Предположим, я пишу определения некоторых переменных в db/seeds.rb, например: user = User.create(...).

Каков охват этих переменных?

Вопрос 2

Если у меня большое количество кода в db/seeds.rb, рекомендуется ли поместить его в class?

Ответы [ 2 ]

2 голосов
/ 09 декабря 2010

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

Например,

rake db:seed custom:sometask

Переменные экземпляра, определенные в db: seed, могут быть доступны в 'sometask'

Если файл rake слишком велик из-за добавления слишком большого количества записей, вы можете переместить данные, которые должны быть вставлены в файл yaml, что может сделать ваш начальный файл более чистым, а не создавать класс.

1 голос
/ 09 декабря 2010

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

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

Ответ на второй вопрос

строк кода в seed.rb не влияет на производительностьОсновная задача seed - инициализировать базу данных с помощью предопределенных записей.Помните, что создание родительского объекта выполняется до создания дочернего элемента.

Вот несколько ссылок, которые могут вам помочь

ASCIICasts

рельсовые шипы

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