0
0

More than 3 years have passed since last update.

Ruby on Railsのチュートリアル ~第3章ほぼ静的なページの作成~

Posted at

はじめに

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コマンドめんどくさくなったのでシェルスクリプト作った
bash.easy_push.sh
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
  • キャメルケースとか、コードの臭いとか、っていう特有の言語、概念、言い回しみたいなの楽しい

  • テスト駆動開発ってプロダクトの規模が大きくなったらどうなるんだろう。今はタイトルだけ表示有無をテストしてるけど、他の表示内容全てテストするコード書くのが一般的なのだろうか・・・

途中参考にしたページ

使用したコマンド

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"

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0