Ruby on rails 3.2 可安装的发动机和模块。如何在引擎中创建lib文件?
我正在为我的公司将用于执行各种任务的应用程序制作一个引擎。我的引擎需要使用github_api gem来查看和更新存储库。虽然我可以通过控制器(或模型)中的代码很好地访问gem,但我想将这些方法放在lib文件夹中的一个模块中,因为我还需要连接到另一个api,并且不想用不应该在那里的代码混乱我的控制器或模型 但是,我的引擎似乎不喜欢我的模块。它甚至不想加载文件,即使我在engine.rb文件中指定了它。我将该文件放在引擎的lib/modules文件夹中,并按其状态包含路径 我的错误如下: 未初始化的常量MyEngine::WelcomeController::Githubapi 就好像它无法加载我的文件一样。当我试图要求它时,它会给我错误并且不会启动服务器 engine.rbRuby on rails 3.2 可安装的发动机和模块。如何在引擎中创建lib文件?,ruby-on-rails-3.2,rails-engines,Ruby On Rails 3.2,Rails Engines,我正在为我的公司将用于执行各种任务的应用程序制作一个引擎。我的引擎需要使用github_api gem来查看和更新存储库。虽然我可以通过控制器(或模型)中的代码很好地访问gem,但我想将这些方法放在lib文件夹中的一个模块中,因为我还需要连接到另一个api,并且不想用不应该在那里的代码混乱我的控制器或模型 但是,我的引擎似乎不喜欢我的模块。它甚至不想加载文件,即使我在engine.rb文件中指定了它。我将该文件放在引擎的lib/modules文件夹中,并按其状态包含路径 我的错误如下: 未初始化
module MyEngine
class Engine < ::Rails::Engine
isolate_namespace MyEngine
config.autoload_paths << File.expand_path("../lib/modules/", __FILE__)
end
end
如果有任何帮助,我们将不胜感激。这难道不是使用“添加依赖项”在引擎的gempec中实现的功能吗 这就是你的信号,你的引擎使用其他宝石
module Githubapi
# Lists the repository branch names for dropdown-list
# param[String] repo_name the repository name as GitHub sees it
def get_repo_branches(repo_name)
branch_names = Array.new
git_connection = Github.new :oauth_token => ENV['GITHUB_TOKEN']
branches = git_connection.repos.branches('owner_name',repo_name)
branches.each do |branch|
branch_names << branch.name
end
branch_names.sort_by!{ |m| m.downcase }
return branch_names
end
end
@branches = Githubapi.get_repo_branches('my_repo')
Gem::Specification.new do |s|
[....] stuff [....]
s.add_dependency "github_api"
[....] stuff [....]
end