1

私はRakeタスクを作成して、データベースに提供されたモックデータを入力します。たとえば、name、id、time_zoneフィールドを持つOrganizationテーブルがある場合、それをrakeタスクに入力したいと思います。最初に、サンプル組織の配列を作成しました。

SAMPLE_ORGANIZATIONS = [ '37 Signals', 'Fog Creek']

そして、そこからデータベースにデータを取り込む方法:

def create_organizations
  SAMPLE_ORGANIZATIONS.each_with_index  {|item, index|
    Organization.first_or_create(
        name: item,
        time_zone: 'Central'
    )
  }
end

それは良い方法ですか?どうすれば改善できますか?

4

1 に答える 1

2

いくつかのオプションがあります。

  1. モックコードを db/seeds.rb に入れて実行しますrake db:seed

  2. 備品。yaml ファイルでデータを定義してから、 を実行しますrake db:fixtures:load

  3. 工場の女の子。おそらく最良の選択ですが、少し複雑です。FactoryGirl コードを db/seeds.rb に置き、#1 のように使用します。

于 2013-02-15T21:03:12.977 に答える