2011-07-05 4 views
0

내 사용자 모델레일즈 : 중첩 된 객체를 거부하지만 객체를 생성하는 중첩 된 형태의 도움이 필요합니다.

class User < ActiveRecord::Base 
    has_many :gym_users 

    attr_accessible :gym_users_attributes, :gym_users 
    accepts_nested_attributes_for :gym_users, :reject_if => lambda { |a| a[:role_id].blank? } 

end 

role_id이 없으면 role_id 모델이 올바르게 거부됩니다. 문제가 여전히 사용자를 만들고 gym_user을 만들지 않습니다. gym_user이 거부되었을 때 사용자를 만들거나 삭제하지 못하도록하는 방법이 있습니까?

답변

0

당신은 당신의 User 모델에

validates_associated :gym_users 

를 추가하고 reject_if에서 GymUsers 모델 검증을 이동할 수 있습니다 귀하의 사용자 모델에 validates :gym_users, :presence => true 추가

validates_presence_of :role_id 
관련 문제