[英]Rails belongs_to same model in multiple attributes
有一个称为Student的模型,并具有一个名为:studies_level
的属性。
studies_level
可以具有以下值之一: ['school_graduate', 'undergraduate', 'graduate', 'postgraduate', 'doctoral', 'postdoctoral']
还有另一种模式叫做University
如果:studies_level
是研究生则学生必须填写以下属性:undergraduate_university
和:postgraduate_university
用University_id
有什么办法可以通过Rails模型关系(longs_to等)来实现?
belongs_to :undergraduate_university, class_name: :University
belongs_to :postgraduate_university, class_name: :University
validates :undergraduate_university, presence: true, if: :studies_level=='postgrad'
validates :postgraduate_university, presence: true, if: :studies_level=='postgrad'
validates_associated :undergraduate_university
validates_associated :postgraduate_university
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.