コードの改修
# migration
add_column :tasks, :current_state, :string
# Task Model
enumerize :current_state, in: TaskStateMachine.states, default: TaskStateMachine.initial_state
scope :in_state, ->(*states) { where(current_state: states) }
scope :not_in_state, ->(*states) { where.not(current_state: states) }
# State Machine Class (TaskStateMachine)
after_transition do |task, transition|
task.update_column(:current_state, transition.to_state)
end