我创建了一个新 gem :https://github.com/tntwebsolutions/ts3query

在我的 init.rb 文件中,我 require 主库文件,这应该在加载 rails 应用程序时自动加载 gem。但是当我启动服务器时,它似乎没有加载 init.rb 文件。

在我的应用程序中,我的 Gemfile 中有这个:

gem "ts3query", "~> 0.2.1"

并在我的 application_controller.rb 中执行此操作:
@query = TS3Query.connect :password => password

但是后来我收到了这个错误:
uninitialized constant ApplicationController::TS3Query

如果我这样做:
require 'TS3Query'
@query = TS3Query.connect :password => password

它确实有效。但我无法弄清楚,在加载 rails 应用程序时,我必须在我的 gem 上更改什么才能加载 require 'TS3Query'

最佳答案

init.rb 不会在任何地方被任何人调用,将您的文件从 TS3Query.rb 重命名为 ts3query.rb 并且捆绑器会自动为您加载它。

避免使用带有大写和小写字符的名称,Linux 和某些 Mac 具有区分大小写的文件系统,虽然它适用于某些人,但可能不适用于其他所有人。

10-08 12:50