簡體   English   中英

出現模塊名稱錯誤“ NameError(未初始化的常量Quiz :: Quizmodules”)

[英]getting error “ NameError (uninitialized constant Quiz::Quizmodules” for module name

我有下面的代碼。

model/quiz.rb
class quiz
  include Quizmodule

  def self.a
     module_methode(a,b)
  end
end

lib/quizmodule.rb
module Quizmodule
  def module_methode(a,b)
     render(jason: {quiz: a})
  end
end

當我嘗試在模型方法中訪問模塊方法時。 它給我這個錯誤

NameError (uninitialized constant Quiz::Quizmodule

幫我解決。 謝謝。

d不能include類。 您可以包括的是模塊。

module Quizmodule # <======== not class
  def module_methode(a,b)
     render(jason: {quiz: a})
  end
end

由於這是一個錯字,並且您沒有嘗試包含一個類,因此將模塊從lib移到models/concern

PS:您的代碼有很多問題,它是非常規的,在您“打算”使用時將不起作用。

  1. class quiz -課堂名稱應以大寫字母開頭
  2. def self.a; module_methode(a,b); end def self.a; module_methode(a,b); end -它會失敗, undefined method module_methode for class:quiz (去克服它,你會想extend Quizmodule
  3. module_methode(a,b)self.a -你使用ab ,但從來沒有將它們傳遞到a方法(雖然這些可能來自其他一些類級別的方法或其他)
  4. Quizmodule#module_methode您傳入兩個參數,但僅使用一個。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM