如何在导轨中没有另一个的情况下验证元素的存在

时间:2018-06-29 12:24:45

标签: ruby-on-rails

我有一个模型可以同时验证presence: truepost_id的{​​{1}},但是如果另一个模型不存在,我希望它可以验证一个模型的存在。

这是验证:

user_id

如果您有任何疑问,请随时询问

2 个答案:

答案 0 :(得分:1)

validates_presence_of :post_id, unless: :user_id
validates_presence_of :user_id, unless: :post_id

答案 1 :(得分:0)

由于ActiveRecord会自动为模型的每个属性创建问号方法,因此您也可以这样做:

validates_presence_of :post_id, unless: :user_id?
validates_presence_of :user_id, unless: :post_id?

:post_id?user_id?返回false表示零或空白。