[英]Rails HABTM checkbox validation
我有2個帶有連接表的模型(bowsers_profiles)。 (HABTM),即
model Profile
has_and_belongs_to_many :browsers
end
model Browser
has_and_belongs_to_many :profiles
end
保存配置文件后,用戶可以選擇他們使用的瀏覽器。 我如何驗證它,以便用戶必須至少選擇一個瀏覽器。 驗證是否屬於個人資料。 我猜會嗎?
任何人都可以闡明如何實現這一目標。
謝謝,如果可以的話。
我將其放入與包含選擇關系的動作的控制器相對應的模型中。 例如,如果您在profile#new
和/或profile#edit
操作中選擇瀏覽器,則將驗證放入概要模型中。
如果將其放入您的個人資料模型,則為以下代碼:
validate :must_have_at_least_one_browser
private
def must_have_at_least_one_browser
if browsers.blank?
errors.add(:base, 'You must select at least one browser')
end
end
我要做的就是計算HABTM字段的數組元素,即
def must_have_at_least_one_browser
errors.add(:base, 'You must select at least one browser') unless browser_ids.count > 0
end
最終的簡單解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.