after_update
и after_create
вызываются после сохранения объекта.Вы устанавливаете значение owner
, но не сохраняете его.
Два возможных варианта: вместо этого используйте before_update
-> ваш объект еще не сохранен, и ваши изменения будут сохранены правильно.
Или используйте after_update
и напишите его следующим образом:
def assign_owner
self.update_attribute :owner, "test"
end
Примечание: любой обратный вызов будет вызываться только непосредственно перед или сразу после сохранения, поэтому Post.new.owner
все равно будет неправильным.Но Post.create(:context => 'blabla')
должен вызвать его правильно (или Post.new.save
).
Надеюсь, это поможет.