尝试从 gem 文件中包含要通过控制台使用的 mixin 时遇到问题。
require "fertilizer/version"
module Fertilizer
# <-- CONSOLE EXTENSION (CONSOLE ONLY)-->
# Following part of code is active with the start of IRB console.
# Details about features can be seen in console_extensions module.
if defined?(Rails::Console)
require 'fertilizer/console_extensions'
include ConsoleExtensions
end
# <-- OBJECT EXTENSIONS (CONSOLE ONLY)-->
if defined?(Rails::Console)
require 'fertilizer/object_extensions'
end
end
Gem 有ruby 文件foil.rb,它执行上面的代码,当我启动控制台时,我可以看到代码被触发。但是当我尝试使用 mixin 中的方法时,控制台找不到它们。
如果我采用完全相同的代码并将其放入初始化程序中, mixin 会被加载(如前所述),但这次我可以在控制台中使用 mixin 中的方法。
如何修复我的 gem 文件,以便在加载 gem 时,可以通过控制台使用 mixin 方法?