2
Imは現在シナトラアプリに取り組んで、そしてイムはシナトラにPostgreSQLの接続に関する問題が発生した、イムは、このコマンドを実行しよう:初期化されていない定数はActiveRecord :: ConnectionAdapters :: ConnectionManagement
rake db:create
データベースを作成するが、このエラーがスローされます。
C:\Users\John\Documents\Registration_Sinatra>rake db:create
rake aborted!
NameError: uninitialized constant ActiveRecord::ConnectionAdapters::ConnectionManagement
C:/Users/John/Documents/Registration_Sinatra/app/app.rb:2:in `<top (required)>'
C:/Users/John/Documents/Registration_Sinatra/Rakefile:1:in `<top (required)>'
LoadError: cannot load such file -- sinatra/activerecord
C:/Users/John/Documents/Registration_Sinatra/app/app.rb:2:in `<top (required)>'
C:/Users/John/Documents/Registration_Sinatra/Rakefile:1:in `<top (required)>'
(See full trace by running task with --trace)
この
が、これは私のenvironments.rbconfigure :development do
@DEFAULT_CONN = {database: 'development_registration_sinatra', user: 'postgres', password: 'secret123', host: 'localhost'}
db = URI.parse(ENV['DATABASE_URL'] || "postgres://#{@DEFAULT_CONN[:host]}/#{@DEFAULT_CONN[:database]}?user=#{@DEFAULT_CONN[:user]}")
ActiveRecord::Base.establish_connection(
:adapter => db.scheme == 'postgres' ? 'postgresql' : db.scheme,
:host => @DEFAULT_CONN[:host],
:username => @DEFAULT_CONN[:user],
:password => @DEFAULT_CONN[:password],
:database => db.path[1..-1],
:encoding => 'utf8')
end
である私のapp.rb
require 'sinatra'
require 'sinatra/activerecord'
require 'pg'
require './config/environments'
class RegistrationSinatra < ActiveRecord::Base
end
get '/' do
erb :index
end
である、これは私のgemfile
source 'https://rubygems.org'
ruby "2.2.2"
gem 'sinatra'
gem 'activerecord'
gem 'sinatra-activerecord'
gem 'tux'
gem 'pg'
と私のRakefile
ですrequire './app/app'
require 'sinatra/activerecord/rake'
私のサンプルアプリケーションで何が間違っているのかをピンポイントで指摘できるので、私は進歩することができますように願っています。追加し、あなたのGemfileにhttps://github.com/janko-m/sinatra-activerecord/pull/66
:ここ
'bundle install'または' bundle exec'を実行しましたか?もしそうなら、 'bundle exec rake -T'を実行します。 –
はい私は両方をして、それはまた私にエラーを与える。 sinatra/activerecordを見つけることができません –
バンドルしようとすると 'sinatra-activerecord'を' sinatra/activerecord'に変更すると –