簡體   English   中英

Rails HABTM復選框驗證

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM