Ruby on rails 什么是';s轨道中的aasm柱
我是rails的新手,我正在做一个有此代码的项目Ruby on rails 什么是';s轨道中的aasm柱,ruby-on-rails,aasm,Ruby On Rails,Aasm,我是rails的新手,我正在做一个有此代码的项目 aasm_column :status aasm do state :unregistered, initial: true state :pending, enter: :enter_pending_state state :activated, enter: :enter_activated_state state :disabled event :register do trans
aasm_column :status
aasm do
state :unregistered, initial: true
state :pending, enter: :enter_pending_state
state :activated, enter: :enter_activated_state
state :disabled
event :register do
transitions from: :unregistered, to: :pending, guard: :valid?
end
event :activate do
transitions from: [ :unregistered, :pending ], to: :activated
transitions from: :pending, to: :activated, guard: :valid?
end
event :disable do
transitions from: [ :pending, :activated ], to: :disabled, guard: :valid?
end
event :enable do
transitions from: :disabled, to: :activated, guard: Proc.new { |u| u.activation_code.blank? && u.valid? }
transitions from: :disabled, to: :pending, guard: Proc.new { |u| !u.activation_code.blank? && u.valid? }
end
end
before_create :enter_pending_state, if: Proc.new{|u| u.pending? }
“aasm”一栏的意思是什么?做这件事的陈词滥调是什么?“aasm”可能代表“作为状态机的行为”,这是一个为对象提供“有限状态机”功能的宝石,如果您正在学习Rails,那么尝试接管另一个现有项目是了解Rails最糟糕的方式。你需要先从下到上学习它,否则你会完全迷失和困惑。我读过它,但不了解它,它是如何工作的,或者我们为什么要实施它?