проблемы с изменением значений

#ruby-on-rails #ruby #activerecord

#ruby-on-rails #ruby #activerecord

Вопрос:

У меня есть 2 модели a

 -product (width an boolean attribute named "active")
-variant
  

продукт имеет много вариантов

итак, если я сделаю это:

 p = Product.first
p.active = false
p.save

p = Product.first
p.active = true
v = p.variants.first
v.product.active is equal to false
  

почему?

Как я могу прочитать последнее установленное значение active, не сохраняя таблицу product?

Спасибо

Я использую ruby ree 1.8.7

Ответ №1:

На данный момент вы не можете сделать это в Rails 3.0, хотя это может быть возможно в Rails 3.1 из-за карты идентификации. Вам придется сохранить объект в базе данных, прежде чем вы сможете прочитать атрибут подобным образом.

Комментарии:

1. Можете ли вы указать мне на какой-нибудь сайт об этом в Rails 3.1? Спасибо!

2. Недавний railscast рассказывает об этом: railscasts.com/episodes/265-rails-3-1-overview