Rails 2.3.14: циклические ссылки не обновляются при проверке - PullRequest
0 голосов
/ 13 марта 2012

У меня есть модель, которая содержит ссылку на другую модель, например:

class Book
belongs_to :cover
end


class Cover
has_one :book
end

У меня есть проверки для каждой модели.пример такой проверки в модели обложки:

def book_is_paperback
  if self.book.is_papreback and !self.is_paperback
    errors.add(:is_paperback, "cover doesn't fit the book")
  end
end

Проблема возникает, если я изменяю поля книги и пытаюсь проверить ее обложку.

book.is_paperback = true
book.cover.valid?

В этом случаеЦиклическая ссылка book.cover.book покажет мне старые значения объекта book, а не обновленные.

Кроме добавления следующей строки:

book.cover.book.is_paperback = true

Есть ли другой способ обработкиэто?

...