Rails загружает данные в приложение каждый раз, когда создается новый пользователь - PullRequest
1 голос
/ 28 марта 2010

Я пытаюсь найти «правильный» способ сделать это.

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

Я действительно не знаю, как это сделать, но я предполагаю что-то вроде: Создать пользователя after_create: создать списки (нужны уже существующие данные для имен списков) after_create List затем заполняет таблицу Items существующими данными для этих списков.

Должен ли я использовать начальные данные для этого? Это нормально для производства, и если да, то как именно я поступлю так.

Любые рекомендации или другие рекомендации приветствуются.

Ответы [ 2 ]

1 голос
/ 29 марта 2010

Seed действительно для вставки данных при первом развертывании приложения.

Если вы создаете записи, привязанные к конкретным событиям, то, вероятно, ваш подход - лучший путь. Если данных много, вы можете перенести их в YAML или что-то в этом роде, но after_create отлично работает для меня в нескольких ситуациях.

class User < ActiveRecord

  def after_create
     List.create
  end
end

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

0 голосов
/ 29 марта 2010

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

Для меня это хороший способ. У меня нет указателя. Например, в Redmine есть загрузочная вставка.

...