我正在尝试使用下面的Rails控制器调用一个连接到postgres db的Ruby脚本,但似乎它无法加载其中一个PG gem文件。我已将我的require语句设置为require 'pg',并尝试了绝对路径(require
非常感谢您的任何指导,因为我没有能够找到任何在线解决此问题的方法。 Rails控制器:
/usr/local/rvm/gems/ruby-1.9.3-p194@railsTest/gems/pg-0.14.0/lib/pg/
)。实际上,文件'pg_ext'在目录中存在。此外,我可以独立运行ruby脚本而不会出现任何问题(dbrubyscript.rb),但当rails添加到这个方程式中时,它会崩溃并显示“cannot load such file -- pg_ext”错误。非常感谢您的任何指导,因为我没有能够找到任何在线解决此问题的方法。 Rails控制器:
class TestdlController < ApplicationController
def runmyscript
load "/usr/local/rvm/my_app/ruby_scripts/reports/dbrubyscript.rb"
send_file '/usr/local/rvm/tmp/failedtests.csv', :type => 'text/csv', :disposition => 'inline'
flash[:notice] = "Reports are being processed..."
end
end
.rb文件(dbrubyscript.rb)中包含以下内容:
require 'rubygems'
require 'pg'
connects to (production) database
@conn = PGconn.connect("zzzzz.test.prod", 5432,"","","yyyyy_prod" ,"postgres", "xxxxxx")
.....
跟踪错误: TestdlController#runmyscript中的LoadError
无法加载此类文件- pg_ext
Rails.root:/usr/local/rvm/my_app 应用程序跟踪|框架跟踪 |完整跟踪app/controllers/Testdl_controller.rb:3:in `runmyscript'
在加载以下文件时出现此错误:
/usr/local/rvm/my_app/ruby_scripts/reports/dbrubyscript.rb
/usr/local/rvm/gems/ruby-1.9.3-p194@railsTest/gems/pg-0.14.0/lib/pg/
pg_ext
gem 'pg'
,并通过运行bundle install
安装所有带有依赖的gems吗? - user519736