[英]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:您的代碼有很多問題,它是非常規的,在您“打算”使用時將不起作用。
class quiz
-課堂名稱應以大寫字母開頭 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
) module_methode(a,b)
在self.a
-你使用a
和b
,但從來沒有將它們傳遞到a
方法(雖然這些可能來自其他一些類級別的方法或其他) Quizmodule#module_methode
您傳入兩個參數,但僅使用一個。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.