как проверить наличие элемента в отсутствии другого в рельсах - PullRequest
0 голосов
/ 29 июня 2018

У меня есть эта модель, которая проверяет presence: true как для post_id, так и user_id, но я хочу, чтобы она проверяла наличие одной, если другая отсутствует.

вот проверка:

validates :user_id, :comment_id, :post_id, presence: true

Если у вас есть какие-либо вопросы, не стесняйтесь спрашивать

Ответы [ 2 ]

0 голосов
/ 29 июня 2018

Поскольку ActiveRecord автоматически создает методы вопросительного знака для каждого атрибута вашей модели, вы также можете сделать:

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

:post_id? или user_id? возвращает false для нуля или пробела.

0 голосов
/ 29 июня 2018
validates_presence_of :post_id, unless: :user_id
validates_presence_of :user_id, unless: :post_id
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...