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_userとdst_userを使用してReviewを作成し、どうにかしてそれらを混同するかです。ユーザーが多くのレビューを行い、同じユーザーが多くのレビューを受け取るようにすることが望ましいです。
助けてくれてありがとう。