在我的验证中,我已经使用了一次有条件的存在

 validates :contact_name, presence: true
 validates :contact_adress,
              presence: true, if: :contact_name?,

现在我想做相反的事情:将属性的义务置于缺少其他属性的条件下。 如果我让A空,那么B必须被填充,反之亦然。

那会有用吗?

 validates :attribute_A, presence true, if:attribute_B!
 validates :attribute_B, presence true, if:attribute_A!

===============>>#1 票数:1

validates文档

还有一个可以与验证器一起使用的选项列表:

...

:unless - 指定要调用的方法,proc或字符串,以确定是否不应进行验证(例如, unless: :skip_validation ,或者unless: Proc.new { |user| user.signup_step <= 2 } )。 方法,proc或string应返回或计算为truefalse值。

但是,使用if:可能更清楚if:Object#present?的帮助下Object#present? Object#blank?

===============>>#2 票数:1 已采纳

你可以使用unless .blank?

validates :attribute_A, presence true, if: :attribute_B.blank?

要么

validates :attribute_A, presence true, unless: :attribute_B

  ask by Mathieu translate from so

未解决问题?本站智能推荐:

2回复

#活动记录验证::如何在Rails(custom_validations)中验证日期属性?

我有两个模特... models / Resident.rb :has_many:叶子 models / leave.rb :belongs_to:常驻 现在,我要验证的内容将在离开模型属性创建之前开始。 Leave.rb 属性 :开始日期,结束日期,目的地 这是我
1回复

Rails4,加载ActiveRecord模型不起作用

我的routes.rb文件是 和OpenConversation和OpenAnswer控制器文件 然后将OpenConversation模型加载到OpenAnswer控制器中 ==============这是IRB调试日志 [6] pry(#)> OpenCo
1回复

根据另一个活动记录属性排除活动记录条目

(可以将标题更改为更合适的标题) 我正在使用Ruby on Rails,并且有两个模型集: 页 商店 页面has_many 。 商店具有status_nbr属性,范围为1-5。 例如,页面#1可能有5个商店,其中两个商店的status_nbr =
1回复

活动记录栏上的条件3

我正在尝试添加一个条件,其中只从模型中获取满足条件的记录。 例如,我试图只从Transaction模型中获取记录,其中:price大于或不等于0(我已尝试>和!=但在下面的示例中均未使用)。 我也试过这个: ......以及上述两种不起作用的其他变体。 上面的第一个
1回复

Rails:操作活动记录对象而不保存

我有一个ActiveRecord对象,我想在不保存到数据库的情况下对其进行操作。 当我尝试使用设置器来操作它时,它变成了一个数组,并且我无法再对其调用ActiveRecord methods了。 有没有办法防止这种情况。 这是我的情况: 我有一个Server模型,我想创建一个方法
2回复

Rails活动记录动态查找者,创建者等

我正在尝试学习Rails,目前正在阅读活跃记录。 我试图了解许多不同的动态查找器以及创建对象的方式,但是我找不到列出所有不同组合的地方。 我在哪里找到这个? 我试过读三本书,但没有运气。
6回复

如何在Rails 3活动记录中链接查询位置

我需要根据参数数据添加条件。 但是由于某种原因它不起作用。 谢谢
1回复

Rails 4活动记录模型has_many通过关联吗?

我一直在为这个概念而苦苦挣扎。 我仍然阅读了该指南-我很难按需使用它。 http://guides.rubyonrails.org/association_basics.html#the-has-many-through-association 对我而言,由于所有约定,这个主题很难理解
1回复

基于活动记录数据库查询更改类,在Rails循环中使用link_to?

请求专家帮助。 我有一个has_many指标的应用程序表。 在某个时间点,指标将具有以下类型的记录。 {capture_time:“ 08:00:10.1234”,metric_name:“ log”,metric_value:“ OK”,application_id:1} {
1回复

Rails活动模型继承

我认为我想完成的是多表继承,但是我不确定如何正确实现它。 我想从一个基类Device ,它将包含所有通用字段,例如名称和启用。 然后,我想为不同的设备类型(例如从Device继承的Light创建抽象类。 然后,我将具有针对特定设备的类,例如X10Light和ZWaveLig