Ruby on rails Rails-自定义服务[NoMethodError]中无法识别传递的参数

Ruby on rails Rails-自定义服务[NoMethodError]中无法识别传递的参数,ruby-on-rails,Ruby On Rails,我已经为我的项目编写了自定义服务: #app\services\quiz_data_creation.rb: class QuizDataCreation def initialize(user) @quiz_session = user.quiz_session #<-- here is the problem end def create create_answer_data end private def create_answer_dat

我已经为我的项目编写了自定义服务:

#app\services\quiz_data_creation.rb:
class QuizDataCreation
  def initialize(user)
    @quiz_session = user.quiz_session #<-- here is the problem
  end

  def create
    create_answer_data
  end

  private
  def create_answer_data
    @quiz_session.quiz.questions[@quiz_session.current_question_index].answers
  end
end

如果有人能给我指出如何解决这个问题,我会非常高兴的——谢谢!)

您声明了一个位置参数

def initialize(user)
但是您传递了一个关键字参数:

QuizDataCreation.new(user: current_user)
换成

QuizDataCreation.new(current_user)

或者更改方法签名以接受关键字args。

了解了有关参数的新信息,谢谢!这就解决了它!:)
def initialize(user)
QuizDataCreation.new(user: current_user)
QuizDataCreation.new(current_user)