test case fragment puts "in change_state update_attribute state_id to #{new_state.id}" result = update_attribute :state_id, new_state.id puts "change_state result is #{result}" puts "in change_state #2 state id is #{self.state.id}" output fragment of the test case: in change_state update_attribute state_id to 28 change_state result is true in change_state #2 state id is 26