加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – 验证嵌套属性的数量

发布时间:2020-12-17 03:51:22 所属栏目:百科 来源:网络整理
导读:我有一个嵌套属性的模型: class Foo ActiveRecord::Base has_many :bar accepts_nested_attributes_for :barend 它工作正常.但是我想确保每一个Foo,我至少有两个Bar. 我无法访问我的验证中的bar_attributes,所以我似乎无法验证它. 有没有干净的方法呢? 解
我有一个嵌套属性的模型:

class Foo < ActiveRecord::Base
    has_many :bar
    accepts_nested_attributes_for  :bar
end

它工作正常.但是我想确保每一个Foo,我至少有两个Bar.
我无法访问我的验证中的bar_attributes,所以我似乎无法验证它.

有没有干净的方法呢?

解决方法

class Foo < ActiveRecord::Base
  has_many :bars
  accepts_nested_attributes_for  :bar

  def validate
    if self.bars.reject(&:marked_for_destruction?).length < 2
      self.errors.add_to_base("Must have at least 2 bars")
    end
  end
end

控制器将负责构建/更新条形图,因此您只需要查看是否有足够的条形图.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读