添加aasm gem后,应用程序给出了错误:参数数量错误(给定1,预期为0)

时间:2017-04-22 06:45:43

标签: ruby-on-rails state-machine aasm

我的模特:

class Lead < ApplicationRecord

  include AASM

  aasm column: 'status' do
     state :new, initial: true
     state :valid

     event :submit do 
       transitions from: :new, to: :valid
     end 
     ...
  end
  ...

end

和控制器:

class LeadsController < ApplicationController
  ...

  def create
  @lead = @leads.new lead_params 
  if @lead.save  
    flash[:success] = "Lead saved successfully"
    render 'show'
  end

  ...
end

尝试创建新潜在客户时,它会向我显示错误wrong number of arguments (given 1, expected 0)。所有这些都发生在我添加aasm gem之后。可能是什么原因?

1 个答案:

答案 0 :(得分:0)

经过一番努力,我找到了原因。问题在于如何构建AASM gem。在这里,我使用valid作为状态。这就是问题所在。好像它是宝石中保留的关键字。将其重命名为另一个州名称解决了这个问题。