Ruby on rails Rails HABTM复选框验证
我有两个模型,带有连接表bowsers_剖面。哈比Ruby on rails Rails HABTM复选框验证,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我有两个模型,带有连接表bowsers_剖面。哈比 model Profile has_and_belongs_to_many :browsers end model Browser has_and_belongs_to_many :profiles end 保存配置文件时,用户可以选择他们使用的浏览器。如何进行验证,以便用户必须至少选择一个浏览器。验证是否属于配置文件。我猜会吗 有谁能解释一下如何做到这一点 如果可以的话,谢谢。我将把它放在与控制器相对应的模型中,该控制器包含您选择
model Profile
has_and_belongs_to_many :browsers
end
model Browser
has_and_belongs_to_many :profiles
end
保存配置文件时,用户可以选择他们使用的浏览器。如何进行验证,以便用户必须至少选择一个浏览器。验证是否属于配置文件。我猜会吗
有谁能解释一下如何做到这一点
如果可以的话,谢谢。我将把它放在与控制器相对应的模型中,该控制器包含您选择关系的操作。例如,如果在profilenew和/或profileedit操作中选择浏览器,我会将验证放在profile模型中 以下是将其放入个人资料模型中的代码:
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
最后是简单的解决办法。你找到解决办法了吗?嗨,牧师。你的建议不起作用。