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_development
、tasklist_test
)を作成する方法を教えていただいてもよろしいでしょうか。
最後に、もしもこのデータベース(tasklist_development
、tasklist_test
)が作成されたら、
TypeError no implicit conversion of Hash into String
というエラーを解決できて、
rails s コマンドを入力してhttp://localhost:3000にアクセスして、ブラウザ上で以下の画像が表示されるのでしょうか。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。