Можно ли запретить "ноль" для одной из двух переменных на уровне миграции?
Author
принадлежит либо к статье, либо к книге, и никогда к обоим. В файле миграции для автора у меня есть:
t.references :article, index: true
t.references :book, index: true
В файле модели:
validate :article_or_book_id
def article_or_book_id
if article_id.present? && book_id.present?
errors.add(:article_id, "An author has to have either a book or article")
elsif !article_id.present? && !book_id.present?
errors.add(:article_id, "This author has no article nor a book")
end
end
Вопрос: Как я могу добавить в файл миграции, что либо :article
или же :book
не может быть null
?
1 ответ
Решение
2015-12-29 18:48