2013-11-11 2 views
0

Учитывая, что A has_many B, я обновляю некоторые атрибуты модели B в данном методе контроллера A.`render` показывает устаревшее значение модели, а redirect_to показывает правильный номер

Если в конце этого метода я называю

render action: 'show' 

, будет оказано старые значения (т.е. до обновления). Если вместо этого я сделаю

redirect_to @a 

, будет показано правильное/обновленное значение.

Что может быть причиной такого поведения? Есть ли метод для явной маркировки модели как «обновленной»?

+0

Вы можете разместить свои шоу и обновления методов. –

+0

Я боюсь, что ... – vemv

+0

Вы инициализировали как @a, так и @b в методе обновления? Если вы вызываете @ b.save, он не перезагружает @a, который передается методу рендеринга. –

ответ

1

Try перезагружая объект

@a.reload 

перед render action: 'show'

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