Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/64.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 什么是';s轨道中的aasm柱_Ruby On Rails_Aasm - Fatal编程技术网

Ruby on rails 什么是';s轨道中的aasm柱

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

我是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
      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最糟糕的方式。你需要先从下到上学习它,否则你会完全迷失和困惑。我读过它,但不了解它,它是如何工作的,或者我们为什么要实施它?