はじめに
webアプリケーションを作るための学習記録
(マッチングアプリを作る予定)
こちらのチュートリアルを片っ端から進めていく
【Ruby on Rails チュートリアル】
https://railstutorial.jp/
第3章ほぼ静的なページの作成
まとめ
- 新しいRailsアプリケーションをゼロから作成したのはこれで3度目。今回も必要なgemのインストール、リモートリポジトリへのプッシュ、production環境まで行った
- コントローラを新規作成するためのrailsコマンドはrails generate controller ControllerName アクション名 (省略可)。
- 新しいルーティングはconfig/routes.rbファイルで定義する
- Railsのビューでは、静的HTMLの他にERB (埋め込みRuby: Embedded RuBy) が使える
- 常に自動化テストを使って新機能開発を進めることで、自信を持ってリファクタリングできるようになり、回帰バグも素早くキャッチできるようになる
- テスト駆動開発では「red ・ green ・REFACTOR」サイクルを繰り返す
- Railsのレイアウトでは、アプリケーションのページの共通部分をテンプレートに置くことでコードの重複を解決することができる
所感
- 途中でいちいちgitコマンドめんどくさくなったのでシェルスクリプト作った
COMMIT_MESSAGE="commit `date +"%Y/%m/%d %H:%M:%S"`"
git add -A
git commit -am "${COMMIT_MESSAGE}"
git push heroku
bash /home/ec2-user/environment/sample_app/easy_push.sh
-
キャメルケースとか、コードの臭いとか、っていう特有の言語、概念、言い回しみたいなの楽しい
-
テスト駆動開発ってプロダクトの規模が大きくなったらどうなるんだろう。今はタイトルだけ表示有無をテストしてるけど、他の表示内容全てテストするコード書くのが一般的なのだろうか・・・
途中参考にしたページ
-
命名規則「キャメルケース」「スネークケース」「ケバブケース」についてまとめてみました
https://designsupply-web.com/developmentlab/4052/ -
テスト駆動開発(TDD)とは?TDDの進め方をステップ毎に解説!
https://www.valtes.co.jp/qbookplus/1069
使用したコマンド
rails 5.1.6 new sample_app
bundle install --without production
bundle update
git init
git add -A
git commit -m "Initialize repository"
git status
git add -A
git commit -am "Improve README"
git remote add origin git@github.com:アカウント名/リポジトリ名.git
git push -u origin master
git status
git add -A
git commit -am "Add hello"
heroku create リポジトリ名
git push heroku master
git checkout -b static-pages
git branch
rails generate controller StaticPages home help
git add -A
git commit -m "Add a Static Pages controller"
git push -u origin static-pages
rails generate controller StaticPages home help
rails destroy controller StaticPages home help
rails generate model User name:string email:string
rails destroy model User
rails db:migrate
rails db:rollback
rails db:migrate VERSION=0
rails test
rails t
touch app/views/static_pages/about.html.erb
mv app/views/layouts/application.html.erb layout_file
mv layout_file app/views/layouts/application.html.erb
rails t
git checkout master
git merge static-pages
git push
rails test
git push heroku
cd ~/sample_app
bundle exec guard init
sudo yum install -y tmux
ps aux
ps aux | grep spring
kill -15 12241
spring stop
pkill -15 -f spring
bundle exec guard
git add -A
git commit -m "Complete advanced setup"