Поскольку вы выбираете объект непосредственно из базы данных, он совершенно новый, поэтому нет причин, по которым его можно было бы каким-либо образом изменить.
Более того, _changed?
доступно до тех пор, пока объект не будет сохранен.
Один из вариантов - получить изменения от params
, но не обновлять ваш объект напрямую. Этот вопрос обсуждался здесь .
Sidenote: почему вы делаете:
redirect_to URI.escape("/view_handler?index=0&msg=Updated")
вместо:
redirect_to path_name_path(:index => 0, :msg => "Updated")