使用init.rb创建一个gem Rails 3

tbr*_*n89 3 ruby gem ruby-on-rails init

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

在我的init.rb文件中我require是主lib文件,这应该在加载rails应用程序时自动加载gem.但是,当我启动服务器时,它会接收init.rb文件未加载.

在我的申请中,我有这个Gemfile:

gem "ts3query", "~> 0.2.1"
Run Code Online (Sandbox Code Playgroud)

并在我这样做application_controller.rb:

@query = TS3Query.connect :password => password
Run Code Online (Sandbox Code Playgroud)

但后来我得到了这个错误:

uninitialized constant ApplicationController::TS3Query
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

require 'TS3Query'
@query = TS3Query.connect :password => password
Run Code Online (Sandbox Code Playgroud)

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

Mau*_*res 5

任何人都无法调用init.rb,将文件从TS3Query.rb重命名为ts3query.rb,bundler将自动为您加载.

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