【发布时间】:2013-09-29 08:07:27
【问题描述】:
我尝试使用Fabrication gem 来填充 Rails 项目开发中的 db。
问题是我确实觉得Fabrication是一个非常强大的工具,但是除了简单的关联我什么都做不了。
例如,我有以下型号
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
不要考虑不同的场景。
我确实知道如何实现从 order 到 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 以便以某种方式将它们混合起来,最好有用户给出很多评论,而同一用户收到很多评论。
感谢您的帮助。
【问题讨论】:
标签: ruby-on-rails gem fabrication-gem