0

사용자가 자신의 프로필을 추가 ​​/ 편집하기 전에 이메일을 확인하길 원합니다 (정말 큰 프로필입니다). 저장되는이 사용자를 금지belongs_to 관계가있는 사용자 모델은 어떻게 생성/등록합니까?

3 오류 : 다음 POST /users(.:format) devise/registrations#create 페이지에서, 나는 다음과 같은 오류를 얻을 자금을 존재해야 회사 존재해야 국가

모델이 존재해야 이러한 관계가 있습니다 :

belongs_to :country 
    belongs_to :company 
    accepts_nested_attributes_for :company 
    belongs_to :funds, class_name: 'Fund' 

는 또한 특별히 사용자가 그들없이 생성 할 수 있도록 on: :update를 추가 있지만 그들이을 필요로 자신의 프로필을 편집 할 준비가되었습니다.

validates :country, :funds, :company, presence: true, on: :update 
    validates_associated :company, on: :update 

그럼 어떻게 관계를 만들지 않고 새 사용자를 등록하거나 만드나요? 기존 사용자를 편집/업데이트 할 때 사용됩니다.

답변

1

레일 5에서 belongs_to 관계는 연관된 레코드 또는 레코드가 있어야합니다. 첫 번째 사용자를 저장할 때 해당 레코드가 없기 때문에 유효성 검사 오류가 발생합니다. 그러나 선택 사항으로 만들 수 있으며 문제가 해결되어야한다고 생각합니다.

belongs_to :country, optional: true 
belongs_to :company, optional: true 
accepts_nested_attributes_for :company 
belongs_to :funds, class_name: 'Fund', optional: true