Прежде всего проверьте, поддерживает ли ваша установка PHP интерфейс командной строки. Тип: php -v
. Вы можете выполнить PHP из командной строки двумя способами:
php yourfile.php
php -r 'print("Hello world");'
Я бы написал настраиваемую проверку:
validate :has_users?
def has_users?
# rails 2:
errors.add_to_base "Model must have some users." if self.users.blank?
end
Это будет делать именно это.
Обратите внимание, что в рельсах 3+ вы должны использовать:
# rails 3+
errors.add :base, "Model must have some users." if self.users.blank?
В рельсах 4+ есть встроенный ярлык, поэтому вы можете просто сделать:
validates :users, presence: true
Джош Сассер написал плагин , который добавляет метод validates_existence_of
, который делает то, что вы хотите. Это гарантирует, что внешний ключ ссылается на существующую запись.