エンジニア志望のブログ

Railsチュートリアル第3章

はじめに
Ruby on Railsチュートリアル(第6版)のメモ、演習の解答例を記述した記事です。
解答は個人のものなので、誤りがあればご指摘ください。
開発環境  Ruby: 2.7.2 , Rails: 6.1.4

メモ

開発中の失敗をもとに戻す方法

コントローラの自動生成と取り消し

取り消す場合はコントローラとそれに対応するアクションを記述

$ rails generate controller コントローラ名(複数形) アクション名
$ rails destroy  controller コントローラ名(複数形) アクション名

コントローラの命名規則

モデルの自動生成と取り消し

モデル名以外の引数は不要

$ rails generate model モデル名(単数形)
$ rails destroy model モデル名(単数形)

モデルの命名規則

マイグレーションの変更とロールバック
$ rails db:migrate
$ rails db:rollback
$ rails db:version #現在のマイグレーションの状況

テスト駆動開発(TDD)

テスト手法のひとつ。
プログラムを実装する前にテストコードを書き、そのテストコードに適合するようにプログラムを実装、リファクタリングしていく手法。

$ rails test      #Railsのテストスクリプト

コントローラやモデルの単体テストを先に行い、続いて統合テストを行っていく。

RED? GREEN?

多くのテストツールでは、テストの失敗をRED、成功をGREENと表現する。
テスト駆動開発のサイクルを「RED・GREEN・REFACTOR」と呼ぶこともある。

RubyDRY原則

Don't Repeat Yourself の略で同じことを繰り返さないようにすること。
同じコードがあればひとつにまとめる。

application.html.erbのhead部

<%= csrf_meta_tags %>
<%= csp_meta_tag %>

csrf_meta_tagsタグ :クロスサイトリクエストフォージェリー攻撃を緩和
csp_meta_tagタグ :クロスサイトスクリプティング攻撃を緩和

おわりに

人生初めての投稿、、!
ブログってこんな感じでいいのかな?とか思いながらひたすらメモを書き殴っただけの投稿になってしまった笑
今回はてな記法を使って記事を書いてみましたがMarkdownも試してみたい!