我想写一个优先验证。如果此用户的偏好记录存在,它应该验证:city(与belongs_to相关联)的存在。
user.rb
# attributes
# :city, :string
has_one :preference
preference.rb
# attributes
# preferred_car_brand
belongs_to :user
我试过这个,但是记录得到保存而没有错误。
user.rb
validates :city, presence: true, if: :user_preference_exists
def user_preference_exists
self.preference.present?
end
答案 0 :(得分:1)
您可以使用它来验证字段的存在。
class User < ActiveRecord::Base
validates :city, presence: true
end
它不会让活动记录为用户模型保存空值:city。