Суть конечного автомата заключается в том, что вы хотите ограничить состояния, в которые вы можете переходить и из которых. Почему вы используете ограничения конечного автомата, если вы хотите описанную выше функциональность? Вы можете сделать то же самое с
def myevent
self.update_attribute(:state, 'third') if self.state == 'second'
end
Или вы можете сделать это, если хотите продолжить использовать конечный автомат
aasm_event :myevent do
transitions :to => :second, :from => [:second]
transitions :to => :second, :from => [:first]
end