>

おい小僧、勉強しろ

植木屋からITへ転職した小僧が語る雑記ブログです(プログラミング, 哲学, アート, 生活, etc...)

【備忘録】Rails Tutorial

Should Be Remembered Errors, etc...

rails tutorialに取り組んで. 調べたこと. どんなところでコケたのか. ミスの傾向など. 記録した備忘録です. 

1.cannot load such file --bcrypt

 gem ファイルに bcrypt を記述し、bundle install 後も rails server を起動したままだったため、発生したエラー

bundle install または bundle update ⇒ rails server再起動 ⇒ OK

※ gem ファイルは server と関連がある...?

2.heroku command cannot found

cloud9 にて、heroku をインストール出来ていなかったため発生したエラー.

下記を実行し、heroku --version でherokuのバージョンが表示されればOK.

$ source <(curl -sL https://cdn.learnenough.com/heroku_install)

以下を参考に.

teratail.com

3.heroku errors

branchを切ってmasterへ戻ると、またherokuコマンドが使えなくなっている現象.

調べると、cloud9ではnvm, npmでNode.jsのバージョン管理を行っているようで

使用しているnvm, npmのバージョンが自動で低く設定されてしまい、herokuコマンドが使用できなくなっていたようなので、低いバージョンのnvmをuninstall後、nvmのdefaultバージョン変更と

ec2-user:~/environment $ nvm alias default v10.14.1
default -> v10.14.1

npmのupdateを行いました.

ec2-user:~/environment/sample_app (master) $ npm update -g npm
/home/ec2-user/.nvm/versions/node/v10.14.1/bin/npm -> /home/ec2-user/.nvm/versions/node/v10.14.1/lib/node_modules/npm/bin/npm-cli.js
/home/ec2-user/.nvm/versions/node/v10.14.1/bin/npx -> /home/ec2-user/.nvm/versions/node/v10.14.1/lib/node_modules/npm/bin/npx-cli.js
+ npm@6.7.0
added 52 packages from 7 contributors, removed 13 packages and updated 41 packages in 6.681s

以下、参考にしました.
qiita.com

qiita.com

stackoverrun.com

4.rails routes

 ルーティングで困ったらrails routesコマンドでルーティングの状況確認可能.また、

$ rails routes | grep session

上記のコマンドラインのパイプ機能でsessionに関連するものだけを表示可能.

5.GETとPOSTの違いについて

qiita.com

 上記の記事から引用

GET, POSTはHTTPメソッドの一部である.

普段から無意識にGETメソッドを使用している.

簡単な違い : リクエストの送信方法

  • GET : URL
  • POST : Body, Binary, Size, etc...

 そのため

  • GET : ブックマーク可能 (パラメータがURLに含まれるため)
  • POST : ブックマーク不可能(パラメータがBodyに含まれるため)

 

 また別の機会にHTTP(Web通信)関連の情報はまとめてみようと思います...

6.【9章】ログイン時におけるheader切り替えが動作していない

sessions.helper.rb の createメソッドに typo が合ったことで、正常に動作しなかったようです。(注意します)

7.Errno::EADDRINUSE

[16533] Puma starting in cluster mode...
[16533] * Version 3.9.1 (ruby 2.4.1-p111), codename: Private Caller
[16533] * Min threads: 5, max threads: 5
[16533] * Environment: development
[16533] * Process workers: 2
[16533] * Preloading application
[16533] * Listening on tcp://localhost:8080
Exiting</code>
/usr/local/rvm/gems/ruby-2.4.1/gems/puma-3.9.1/lib/puma/binder.rb:269:in `initialize': Address already in use - bind(2) for "127.0.0.1" port 8080 (Errno::EADDRINUSE)

railsサーバーを動作させた状態でターミナルを閉じた際、発生したエラー. 下記を参考に進めればOK.

qiita.com

8.【13章】rails aborted!
ActiveRecord::RecordInvalid: Validation failed: Email has already been taken

 rails db:seedで怒られたときは下記を参考に

qiita.com

9.【13章】Listen error: unable to monitor directories for changes

github.com

ユーザー数のエラー(?)

micropostsのfixtureでユーザーを追加してから発生したエラー. 上記で設定値を変更してエラーは修正できる.