我无法从应用程序的lib文件夹加载模块。这是我要加载的文件/模块:
# app/lib/reusable.rb
module Reusable
# Check if the value is completely blank & empty
def is_empty(value)
end
end
我尝试过#config.eager_load_paths << "#{Rails.root}/lib"
或
1}}在config / application.rb中,但它仍无效。
我也尝试了Dir[Rails.root.join('lib/**/*.rb')].each { |f| require f }
,并尝试将/ lib的所有文件移动到app / lib中,如下所示:https://github.com/rails/rails/issues/13142。但仍然没有一个有效!
config.eager_load_paths << "#{Rails.root}/lib"
is_empty&#39;对于#:0x007f923c3c4b20&gt;`
基本上Rails找不到我在我试图加载的可重用模块中定义的方法。
我缺少哪些步骤?或者在Rails方面存在问题?
答案 0 :(得分:2)
正在加载文件。如果不是,则会出现undefined method
错误,而不是Reusable.is_empty(value)
错误。
如果你打算打电话:
is_empty
然后# app/lib/reusable.rb
module Reusable
# Check if the value is completely blank & empty
def self.is_empty(value)
end
end
需要是一个类方法。类似的东西:
# app/lib/reusable.rb
module Reusable
# Check if the value is completely blank & empty
class << self
def is_empty(value)
end
end
end
或者:
var leagueList = [Dictionary<String, Array<String>>]()
for dict in leagueList {
let key = dict.key as String!
if key == deletedAge {
self.leagueList.removeValue(forKey: deletedAge!)
}
}
取决于您的偏好。