我有不同的型号属于公司型号:
# 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
将徽章持有者和用户表格与公司一起用作表格中的嵌套属性:
有没有办法在用户表单的上下文中部分撤销验证器(地址,邮政编码和城市是可选的)?