以不同方式验证关联模型

时间:2018-05-03 14:16:21

标签: validation model ruby-on-rails-5

我有不同的型号属于公司型号:

# badge_holder.rb
class BadgeHolder < ApplicationRecord
  belongs_to :company

  accepts_nested_attributes_for :company, allow_destroy: false, reject_if: :all_blank
end

# user.rb
class User < ApplicationRecord
  belongs_to :company

  accepts_nested_attributes_for :company, allow_destroy: false, reject_if: :all_blank
end

在徽章持有者的背景下,公司需要更多信息(例如地址数据),如同用户的上下文一样。

为了确保没有上下文的公司具有所有可能需要的属性,我会在公司模型中设置验证器:

# company.rb
class Company < ApplicationRecord
   validates_presence_of :name, :address, :zip, :city
end

将徽章持有者和用户表格与公司一起用作表格中的嵌套属性:

有没有办法在用户表单的上下文中部分撤销验证器(地址,邮政编码和城市是可选的)?

0 个答案:

没有答案