我正在尝试用 AASM gem 制作一个有限状态机链。我想检查一个字符串是否唯一(数据库中不存在)。
我写:
require 'rubygems'
require 'aasm'
class Term
include AASM
aasm do
state :Beginning, :initial => true
state :CheckUniqueness
def initialize(term)
print term
end
event :UniquenessChecking do
print "Check uniqueness"
transitions :from => :Beginning, :to => :CheckUniqueness
end
end
end
term = Term.new("textstring")
term.CheckUniqueness
但是当我使用时Term.new("textstring")
,它不允许我传递我认为的参数,因为我得到一个错误:
`initialize': wrong number of arguments (1 for 0) (ArgumentError)
from try.rb:24:in `new'
from try.rb:24:in `<main>'
是否可以在 AASM 中使用 init 传递参数?我想知道我该怎么做?