私は持っている問題のいくつかの関連記事を検索しましたが、答えを見つけることができませんでした。私は、ほとんどの人がMacを使っているコーディングプログラムの学生ですが、私はWindows(7、Pro、64)を使っています。そのため、ここに投稿するツール/ソフトウェアに少し縛られています。Ruby PGの宝石の接続の問題
私はpg gemでRubyを介して接続しようとしています。私はSinatraとPostgreSQLを使用しています。私はPostgreSQL用のサーバ、データベース、および設定パス変数を設定しましたが、pg gem(他の記事のように問題はありませんでした)を次の行にインストールしました。
gem install pg -- --with-pg-config=C:\Program Files\PostgreSQL\9.5\bin
Sinatraを起動してローカルホストに移動すると、 Macユーザー以外の方法でNil:NilClassのNoMethodError、Undefinedメソッドが取得されます。
方法であって、そう
configure :development do
set :db_config, { dbname: "news_aggregator_development" }
end
configure :test do
set :db_config, { dbname: "news_aggregator_test" }
end
def db_connection
begin
connection = PG.connect(Sinatra::Application.db_config)
yield(connection)
ensure
connection.close
end
end
get '/articles' do
@results = db_connection do |conn|
conn.exec("SELECT * FROM articles")
end
erb :index
end
connection
戻りnil
、および未定義の方法エラーとclose
方法戻ります。私は構文エラーがあるとは思わないが、これについて他の人に確認したところ、pgとの接続エラーに関連していると思っている。
初めての投稿ですので、私の上で簡単に行ってください=)必要な情報を残しておけば謝罪します。もっと多くの文脈が役立つかもしれないと私はそれを提供しようとします!ありがとうございました!
dbサーバは稼動していますか? –
はい、確認しました – CTAnthny
'db_connection'メソッドをヘルパーにすると、' Sinatra :: Application.db_config'の代わりに 'settings.db_config'を使うことができます。 DBホスト、ユーザー、パスワードなどはどこで設定していますか? – mwp