我在lib/redmine.rb
中有一个模块,里面有一些类和东西。我可以从控制台调用Redmine.some_method
就好了,但我希望在部署期间使用Capistrano加载此模块。
我试过了:
require 'lib/redmine'
require 'redmine'
require './lib/redmine'
require '../lib/redmine'
load 'lib/redmine'
以及所有在其末尾都有.rb的人。
我似乎无法从部署命名空间中访问Redmine
模块...
答案 0 :(得分:0)
最好的方法是将它变成一个宝石项目,然后简单地参考这个 通过你给它的名字进行项目。
我对上面代码的问题是我不知道你在redmine.rb中使用的布局,而你没有显示特定的错误。
请注意,require()会先尝试转到ruby SITE_DIR路径,因此需要使用“redmine”和“redmine”。像宝石一样安装(或者,通过setup.rb,这是宝石写入之前的旧方法)。
尝试使用ad-hoc解决方案(但不要在生产代码中使用它;修改加载路径,这不好也不需要;使用gem项目布局和安装,它更容易,从长远来看更安全):
$: << '.'
require './redmine.rb'