1

Railsプロジェクトの開発でdbにデータを入力するために、Fabrication gemを使用しようとしました。

問題は、ファブリケーションが非常に強力な手段であると私が感じていることですが、単純な関連付けを除いて、私は他に何もできません.

たとえば、次のモデルがあります

class User < ActiveRecord::Base
  has_many :order, :dependent => :destroy
  has_many :src_reviews, :class_name => 'Review', :foreign_key => '...'
  has_many :dst_reviews, :class_name => 'Review', :foreign_key => '...'

class Review < ActiveRecord::Base
  belongs_to :src_user, :class_name => 'User', :foreign_key => '...' 
  belongs_to :dst_user,  :class_name => 'User', :foreign_key => '...'
end

class Order < ActiveRecord::Base
  belongs_to :user

別のシナリオを考えさせないでください。

注文からユーザーへの単純な関連付けを実装する方法を知っています

Fabricator(:order) do   
  ...
  user { Fabricate(:user) }
end

Fabricator(:user) do
  ...
end

Q :しかし、反対側でできるかどうかわかりません。

Fabricator(:order) do   
  ...
end

Fabricator(:user) do
  orders {#somehow create 5 orders for each user}
end

そして、最も難しい魔法は、 src_userdst_userを使用してReviewを作成し、どうにかしてそれらを混同するかです。ユーザーが多くのレビューを行い、同じユーザーが多くのレビューを受け取るようにすることが望ましいです。

助けてくれてありがとう。

4

1 に答える 1