質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

2回答

2354閲覧

localhost3000: が開かない

ikedako

総合スコア13

Ruby on Rails

Ruby on Railsは、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2016/11/03 10:45

編集2016/11/03 11:15

ターミナルで rails s と打つと
=> Booting WEBrick
=> Rails 4.2.6 application starting in development on http://localhost:3000
=> Run rails server -h for more startup options
=> Ctrl-C to shutdown server
[2016-11-03 19:37:14] INFO WEBrick 1.3.1
[2016-11-03 19:37:14] INFO ruby 2.2.2 (2015-04-13) [x86_64-darwin15]
[2016-11-03 19:37:14] INFO WEBrick::HTTPServer#start: pid=9158 port=3000
このように表示されます。

localhost3000: と打つと
Gem::LoadError
Specified 'sqlite3' for database adapter, but the gem is not loaded. Add gem 'sqlite3' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).

Extracted source (around line #177):

require path_to_adapter rescue Gem::LoadError => e raise Gem::LoadError, "Specified '#{spec[:adapter]}' for database adapter, but the gem is not loaded. Add `gem '#{e.name}'` to your Gemfile (and ensure its version is at the minimum required by ActiveRecord)." rescue LoadError => e raise LoadError, "Could not load '#{path_to_adapter}'. Make sure that the adapter in config/database.yml is valid. If you use an adapter other than 'mysql', 'mysql2', 'postgresql' or 'sqlite3' add the necessary adapter gem to the Gemfile.", e.backtrace end

どうしたらよろしいですか?お願いします。

追記 gem 'mysql2', '0.3.18'
を使えるようにしたいです。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

自己解決

アプリケーション作成の時にrails new note -d mysql
-d mysql←これをつけたらうまくいきました。ありがとうございました!

投稿2016/11/03 14:39

ikedako

総合スコア13

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

Specified 'sqlite3' for database adapter, but the gem is not loaded. Add gem 'sqlite3' to your Gemfile (and ensure its version is at the minimum required by ActiveRecord).

上記エラーメッセージを見ると、sqliteのDBにアクセスしようとしたところ、そのために必要なgemが読み込まれていない、という状態のようです。
Gemfileに、sqlite3のgemをインストールするための記述を追加して、gemを追加してください。

投稿2016/11/03 11:11

philomagi

総合スコア267

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikedako

2016/11/03 11:14

gem 'mysql2', '0.3.18' でできるようにしたいのですが、できますか?
philomagi

2016/11/03 11:40

mysqlのDBを利用したいのであれば、config/database.ymlの内容を編集する必要があります。adapter: sqlite3 となっている箇所をadapter: mysql2に変更後、railsサーバーを再起動してみてください。
ikedako

2016/11/03 13:05

datebase.ymlの内容です。 default: &default adapter: sqlite3 pool: 5 timeout: 5000 development: <<: *default database: db/development.sqlite3 # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: db/test.sqlite3 production: <<: *default database: db/production.sqlite3 これを編集してみたのですができませんでした。
philomagi

2016/11/03 13:10

sqlite3 を mysql2 に変更したのであれば、エラー内容も変化しているのではないでしょうか。 以下の対応を行ってみてください。 ・database: db/xxxx.sqlite3を、接続したいDBの名前に変更 ・defaultの設定に、host: localhostという設定を追加
ikedako

2016/11/03 13:37

default: &default adapter: mysql2', '0.3.18 pool: 5 timeout: 5000 development: <<: *default database: db/mysql2', '0.3.18 # Warning: The database defined as "test" will be erased and # re-generated from your development database when you run "rake". # Do not set this db to the same as development or production. test: <<: *default database: db/tmysql2', '0.3.18 production: <<: *default database: db/mysql2', '0.3.18 このように変更しました。 defaultの設定に、host: localhostという設定を追加のやり方がわからないです。すいません。
philomagi

2016/11/03 13:48

railsでは、設定ファイルの記述をYAMLという形式で行っています(xxx.ymlというファイルは全てYAML形式です)。ハッシュ形式で項目と設定値の対応を、インデントと改行で項目の階層化を表現しています。詳しくは以下をご覧ください。 http://magazine.rubyist.net/?0009-YAML さて、「defaultの設定にhost: localhostという設定を追加」というのは、「defaultという項目の下位に、さらにhostという項目を追加する。hostにはlocalhostという設定値を与える」という意味です。 提供いただいたdatabase.ymlの内容ではインデントが消失してしまっていますが、元々のファイルでは、default: &default の下に書かれているadapter, pool, timeoutは、全てインデントされていたはずです。この時、「adapter, pool, timeoutは、defaultという項目の下位に追加されている」状態です。 話は変わって、database: という項目に設定するのは、「接続したいDBの名前」です。「DB言語」では有りません。もしMySQLで「homepage」という名前のDBを構築したなら、 database: homepage と設定することで、どのDBに接続するのかを指定します。
ikedako

2016/11/03 14:38

アプリケーション作成の時にrails new note -d mysql -d mysql←これをつけたらうまくいきました。ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問