我正在尝试使用下面的 rails 控制器调用 Ruby 脚本(连接到 postgres db),但它似乎在加载其中一个 PG gem 文件时遇到问题。我已将我的 require 语句设置为 require 'pg' 并尝试了绝对路径(require /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
错误。
非常感谢这里的任何方向,因为我无法在网上找到任何可以解决此问题的东西
导轨控制器:
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