Ruby on Rails: вопрос о validates_presence_of - PullRequest
11 голосов
/ 21 сентября 2010

У меня есть связь в моей модели на основе ActiveRecord, которая выглядит следующим образом:

belongs_to :foo

В моей модели всегда должен быть определен foo, чтобы она была действительной.Мой вопрос, при использовании validates_presence of, какой из них является подходящим для использования:

validates_presence_of :foo

или

validates_presence_of :foo_id

Предполагая здесь, конечно, что foo_id является подходящим внешним ключом,это по умолчанию, если вы не измените ключ ассоциации.

Ответы [ 3 ]

8 голосов
/ 21 сентября 2010

Первый: validates_presence_of :foo (хотя я думаю, что второй тоже будет работать).В общем случае помощники проверки Ruby работают с именами моделей, а не с явными именами столбцов.Вы можете использовать это в дополнение к validates_associated для проверки состояния связанного объекта в дополнение к его присутствию.

1 голос
/ 21 сентября 2010

Возможно, вы захотите рассмотреть validates_associated

Это позволит убедиться, что ассоциация действительна.

0 голосов
/ 21 сентября 2010

Я использую validates_presence_of :foo_id. Это работает.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...