2014-09-26 3 views
1

Я добавил versioned в мою модель публикации. Если я это сделаю, например:vestal_versions увеличивает версию в Rails Console, но не через UI

1.9.3-p448 :040 >p = Post.first 
1.9.3-p448 :041 > p.version 
=> 1 

Затем я обновляю сообщение через интерфейс нашего веб-сайта. Я смотрю журналы сервера, изменения сохраняются.

Назад на консоли:

1.9.3-p448 :054 > p.version 
=> 1 

Без изменений. Но, я делаю это:

1.9.3-p448 :059 > p.update_attributes(category: "Announcements") 
    (1.3ms) BEGIN 
    SQL (2.2ms) UPDATE "posts" ... 
=> true 
1.9.3-p448 :060 > p.version 
=> 2 

Почему обновление версии в командной строке, но не тогда, когда я обновить запись через интерфейс?

ответ

0

Я думаю, что это связано с тем, что переменной («p» выше) присваивается копия данных Почты, а не ссылается на сам пост. Если я переназначу свою переменную на один и тот же объект, он, как представляется, отражает обновления, сделанные через пользовательский интерфейс в номере версии. Например .:

p = Post.find(1) 
p.version 
=>1 

(I обновит сообщение 1 через UI)

p.version 
=> 1 
p = Post.find(1) 
p.version 
=> 2 

 Смежные вопросы

  • Нет связанных вопросов^_^