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

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

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

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

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

Q&A

1回答

1050閲覧

rails :ブラウザにアクセスしたらTypeErrorが出たため、相手に自分のパスワードが知られないように自分のmysqlのrootパスワードを設定して、データベースを作成する方法を教えてください。

Marchan4

総合スコア15

Ruby

Rubyはプログラミング言語のひとつで、オープンソース、オブジェクト指向のプログラミング開発に対応しています。

MySQL

MySQL(マイエスキューエル)は、TCX DataKonsultAB社などが開発するRDBMS(リレーショナルデータベースの管理システム)です。世界で最も人気の高いシステムで、オープンソースで開発されています。MySQLデータベースサーバは、高速性と信頼性があり、Linux、UNIX、Windowsなどの複数のプラットフォームで動作することができます。

MacOS(OSX)

MacOSとは、Appleの開発していたGUI(グラフィカルユーザーインターフェース)を採用したオペレーションシステム(OS)です。Macintoshと共に、市場に出てGUIの普及に大きく貢献しました。

Ruby on Rails

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

0グッド

0クリップ

投稿2021/04/22 16:05

編集2021/04/24 10:43

rubyのバージョンは3.0.0、 mysqlのバージョンは5.7、 mysql2のバージョンは0.4.10、 
bundlerバージョンは2.2.3、 homebrewバージョン3.0.10です。
使用機器macOS Big Sur バージョン11.2.2です。使用中のテキストエディタはAtomです。

tasklistというアプリを作っておる最中なのですが、

rails s コマンドを入力してhttp://localhost:3000にアクセスしたらTypeErrorが出ました。このエラーの詳細は以下の画像の通りです。

イメージ説明

TypeError no implicit conversion of Hash into String

というエラー内容から、

該当する27行目のソースコードを
Hash(ハッシュ)からString(文字列)への暗黙の変換はできないということが分かったため、config/database.ymlファイルに

password: <%= ENV['RAILS_DATABASE_PASSWORD'] %>

と設定致した後に、ターミナルに

$ vim .bash_profile

と打ち込んで、enterキーを押して画面が切り替わったら、iキーを押してインサートモードにて

export RAILS_DATABASE_PASSWORD='自分のMySQLのrootパスワード'

を入力し、escキーを押してインサートモードを終了させて、「:wq」と入力して保存して終了させて、ターミナルに

$ source ~/.bash_profile

と入力致しました。その後に、ターミナルに

$ rails db:create

と入力致したところ、

下記のエラーが出ました。

$ rails db:create no implicit conversion of Hash into String Couldn't create database for {"adapter"=>"mysql2", "encoding"=>"utf8", "pool"=>5, "username"=>"root", "password"=>nil, "socket"=>"/tmp/mysql.sock", "database"=>"tasklist _development"} rails aborted! TypeError: no implicit conversion of Hash into String

ここで二点質問なのですが、

まず、相手に自分のmysqlのrootパスワードを知られないように自分のmysqlのrootパスワードを設定して、データベース(tasklist_developmenttasklist_test)を作成する方法を教えていただいてもよろしいでしょうか。

最後に、もしもこのデータベース(tasklist_developmenttasklist_test)が作成されたら、

TypeError no implicit conversion of Hash into String

というエラーを解決できて、

rails s コマンドを入力してhttp://localhost:3000にアクセスして、ブラウザ上で以下の画像が表示されるのでしょうか。

イメージ説明

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

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

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

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

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

guest

回答1

0

TypeError no implicit conversion of Hash into String

は、あなたが文字列が返ってくると思っていた処理が、実際にはハッシュを返してきたと言うことです。
つまり、設計が間違っていたので、単に、

Hash(ハッシュ)からString(文字列)に書き換えなさいと

と言うことでは無いです。処理自体を見直して、間違っていた部分(誤解していた部分)を探して、正しく作り直しましょう。

投稿2021/04/22 16:14

otn

総合スコア84538

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問