【发布时间】:2018-04-19 15:20:26
【问题描述】:
我有 3 个这样的模型:
# model/timeline.rb
class Timeline
belongs_to :series
belongs_to :creator
end
def series_belongs_to_creator
if creator_id
creator = Creator.find_by id: creator_id
related_series = creator.series.find_by id: series_id
errors.add(:series_id, :not_found_series) unless related_series
end
end
# model/creator.rb
class Creator
has_many :timelines
has_many :series, through: :contents
end
# model/series.rb
class Series
has_many :timelines
has_many :creators, through: :contents
end
这不是多对多关系,timelines 表在另一个字段旁边有两个字段 creator_id 和 series_id。创建时间轴时必须输入creator_id 和series_id,并且我有一个方法series_belongs_to_creator 来验证series_id 必须属于creator_id 才能创建成功。
那么如果使用 FactoryGirl,我应该如何为时间线模型编写工厂。我对 Rails 中的单元测试感到很困惑。
【问题讨论】:
标签: ruby-on-rails unit-testing factory-bot