我有一個模型:驗證的至少一個has_and_belongs_to_many
has_and_belongs_to_many :users
如何驗證,該模型在模型中的至少一個用戶?我想:
validates_presence_of :users
但是,這似乎並沒有給我我想要的......
我有一個模型:驗證的至少一個has_and_belongs_to_many
has_and_belongs_to_many :users
如何驗證,該模型在模型中的至少一個用戶?我想:
validates_presence_of :users
但是,這似乎並沒有給我我想要的......
我會寫自定義的驗證:
validate :has_users?
def has_users?
errors.add_to_base "Model must have some users." if self.users.blank?
end
這將這樣做。
喬希Susser寫了plugin,增加了一個validates_existence_of
方法你想要做什麼。它確保外鍵引用存在的記錄。
在Rails 3.2.x中:
validate :has_users?
def has_users?
errors.add(:base, 'Error message') if self.users.blank?
end
在軌道4,5你可以做
validates :users, presence: true
嘗試:
validates :users, :length => { :minimum => 1 }
,看起來很有希望,但它沒有工作: 「無法驗證:用戶的存在,因爲它不是belongs_to關聯。」看起來它只適用於belongs_to ... – cmaughan 2009-06-04 12:44:23
這是正確的。關聯的另一端是什麼? – 2009-06-04 12:57:18