在我的 ruby on Rails 应用程序中,当我更改代码时(例如将第 5 行从 更改为 ),i = f1
我i = f2
收到此错误:
Api::V1::AppController#login 中的 NoMethodError
#Master::Utilities:0x00007fdb6ceb42c8 的未定义方法“f2”
这是我的代码
class Api::V1::AppController < ApplicationController
def login
c = Master::Utilities.new
i = c.f1
z = c.f2
render json: {m: 'login' , msg: "hello" , data: "#{z} - #{i}" } , status: :ok
end
end
撤消更改并不能解决问题。收到此错误后,我重新启动Puma,一切都恢复正常,无需更改代码。
这些是我的代码
lib\master\utilities.rb
module Master class Utilities Dir[File.join(__dir__, 'code', '*.rb')].each { |file| require file } end end
lib\master\code\1.rb
module Master class Utilities def f1 "Function 1" end end end
lib\master\code\2.rb
module Master class Utilities def f2 "Function 2" end end end
我使用此代码来config\application.rb
自动加载我的代码
config.paths.add Rails.root.join('lib').to_s, eager_load: true
我是 ruby on Rails 的新手,我认为我的代码中有一个小错误,但我找不到哪里。
谢谢