【发布时间】:2011-09-06 06:59:25
【问题描述】:
在我的模型(产品)中,我有一个验证,每个产品都应该有一个有效的所有者(用户的登录 ID)
validates_presence_of :owner
validates_inclusion_of :owner, :in => User.first.login_id, :message => "%{value} is not a valid owner name"
我正在尝试使用工厂女孩创建产品模拟对象
为了创建新产品,我需要用户的 login_id。 为此,我创建了一个用户。
到目前为止,一切都很好,但是当我尝试使用该用户的 login_id 创建产品时 产品未创建,并显示验证消息(“User1 不是有效的所有者名称”)。
深入研究后发现
- 问题来自我的模型中的验证。
- 我有一个验证 (validates_inclusion_of :owner, :in => User.first.login_id),它在 factory.rb 中创建模拟用户之前进行初始化, (到那时数据库中还没有创建用户,用户是在执行 factory.rd 时模型初始化后创建的)
我的问题是: 1. 如何在模型初始化之前创建用户。
【问题讨论】:
标签: ruby-on-rails-3 factory-bot