以下の Rails コントローラーを使用して Ruby スクリプト (postgres db に接続) を呼び出そうとしていますが、PG gem ファイルの 1 つをロードする際に問題が発生しているようです。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) をスタンドアロンで実行できますが、この方程式にレールを追加すると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