내 모델 (제품)에서 각 제품에 유효한 소유자 (사용자의 login_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은 유효한 소유자 이름이 아닙니다")를 만들고 표시하지 않습니다.
더 깊게 파고 나면
- 문제는 내 모델의 유효성 검사에서 발생합니다.
- factory.rb, 에서 모의 사용자를 만들기 전에 초기화하는 유효성 검사 (validates_inclusion_of : owner, in :> User.first.login_id)가 있습니다 (데이터베이스에 사용자가 생성되지 않아 사용자가 생성 될 때까지) factory.rd를 실행할 때 모델을 초기화 한 후)
제 질문은 입니다. 1. 모델 초기화 전에 어떻게 사용자를 생성 할 수 있습니까?
이 사용자는 첫 번째 사용자 일 필요는 없으며 등록 된 사용자 일 수 있습니다. 내가 당신에 따라 다음과 같은 오류가 발생했습니다 : ArgumentError : 등록되지 않음 : 제품 /usr/local/lib/ruby/gems/1.9.1/gems/factory_girl-2.0.4/lib/factory_girl/registry.rb:15 :'find '에서 /usr/local/lib/gems/1.9.1/gems/factory_girl-2.0.4/lib/factory_girl.rb:42:in' factory_by_name' /usr/local/lib/ruby /gems/1.9.1/gems/factory_girl-2.0.4/lib/factory_girl/syntax/vintage.rb:53:in'default_strategy ' /usr/local/lib/ruby/gems/1.9.1/gems/factory_girl -2.0.4/lib/factory_girl/구문/vintage.rb : 146 :'공장 ' – suvankar