Ruby on Rails 7章後半、統合テストやリダイレクトなどをやりました。
〇統合テスト
rails generate integration_test users_signup→テストコードができる
assert_no_difference ‘User.count’ do post users_path, params:{ user:{ name:””(略) } }end
これで、登録に失敗してbefore/afterでcount数が同じことを確認する。
遷移後のページをチェック
assert_template ‘users/new’
assert_select ‘div#error_exaplanation’なんかもできる。
エラー表示用のシカクイのが出るかどうか。
〇リダイレクト
controllerの中でrenderでhttpレスポンスページを返すこともできるがリダイレクトをかけることもできる。
redirect_to @user
上は省略系で、
redirect_to user_url(@user)
テストコードでfollow_direct!をしないでassert_templateを呼び出すと
リダイレクトさせるためのレスポンスとテンプレートがマッチングされてREDになる。
〇flash1回だけ出すメッセージ。
C or Mで追加
flash[:success] = “hogehoge”
message_type=この例だとsuccessになる。
alert-message_type -> alert-successという具合。↓参照
<div class=”alert alert-<%= msg_type %>”>
flashのリファクタリング(ヘルパー)
<%= content_tag(:div, msg, class: “alert-#{msgtype}”) %>
タグの閉じや、開始タグの次にメッセージをマッピングするという手間が軽減
〇rails db:migrate:resetdrop & createしてくれる模様。
●SSL
ruby上ではconfigにSSLをproductionでは使うという設定を入れるだけ。
今はherokuのサブドメイン上で動いているのでherokuのSSL証明書に乗っかる。
●WEBrickからpumaにする。
puma.rbを書き換える。