Ruby on rails Can';t初始化所属的类的状态

Ruby on rails Can';t初始化所属的类的状态,ruby-on-rails,initializer,state-machine,Ruby On Rails,Initializer,State Machine,我已经在我的类中包含了state_machine,并且在控制台中操作它时退出了。然而,当我尝试在应用程序中使用它时,我的兴奋消失了。我得到 wrong number of arguments (2 for 0) 调用user.requests.build时,状态类“request”的“initialize”方法出错 “initialize”方法看起来像 def initialize super() end 因为宝石的创造者告诉我的。类定义以 class Request < Acti

我已经在我的类中包含了state_machine,并且在控制台中操作它时退出了。然而,当我尝试在应用程序中使用它时,我的兴奋消失了。我得到

wrong number of arguments (2 for 0)
调用user.requests.build时,状态类“request”的“initialize”方法出错

“initialize”方法看起来像

def initialize
  super()
end
因为宝石的创造者告诉我的。类定义以

class Request < ActiveRecord::Base
 attr_accessible :subject, :details, :assigned_to, :log, :status, :solution

 belongs_to :user
 belongs_to :assignee, class_name: "User", foreign_key: "assigned_to"
类请求

我认为这个错误是由初始化者不知道的关联引起的。我说得对吗?我能做些什么?

自述文件中给出的示例不适用于ActiveRecord集成——只适用于普通Ruby类。在ActiveRecord集成中,为了使状态机工作,不需要在初始化方法中执行任何特殊操作。通过重写initialize方法,您正在更改ActiveRecord所依赖的方法签名。如果您没有在该覆盖中执行任何其他操作,我建议您将其全部删除


希望这有帮助

自述文件中给出的示例不适用于ActiveRecord集成——只适用于普通Ruby类。在ActiveRecord集成中,为了使状态机工作,不需要在初始化方法中执行任何特殊操作。通过重写initialize方法,您正在更改ActiveRecord所依赖的方法签名。如果您没有在该覆盖中执行任何其他操作,我建议您将其全部删除

希望这有帮助