序文
最近、引きこもりまくってていかんですね。
今週末は久しぶりにRailsの勉強会(もくもく会)に出てきます。
techdrive.connpass.com
来年、無謀にも自分で主催しようかなぁという計画もあったんですがどうなることやら。
進捗
- 第10章ユーザーの更新・表示・削除
- 10.3 すべてのユーザーを表示する
- 10.4 ユーザーを削除する
コード実装部分(一部)
/sample_app/test/controllers/users_controller_test.rb
require 'test_helper' class UsersControllerTest < ActionDispatch::IntegrationTest # @userにfixturesで定義したテスト用データを設定する def setup @user = users(:michael) @other_user = users(:archer) end (中略) # admin属性は変更できないことを確認する test "should not allow the admin attribute to be edited via the web" do # 管理者でないユーザーでログインする log_in_as(@other_user) # 管理者権限はないか assert_not @other_user.admin? # PATCHで管理者権限を与えようとする patch user_path(@other_user), params: { user: { password: "password", password_confirmation: "password", admin: true } } # 管理者権限がちゃんと制限されているか assert_not @other_user.reload.admin? end end
GitHub
実行結果
感想
今日はユーザーデータの削除機能の実装。
管理権限をカラムに追加して、管理者権限を持っているユーザーだけが他のユーザーデータを削除できるように実装していく。
いまだ10章終わらず。
今日は演習で大きくつまずいた。
Strong Parametersを使用して、管理者権限を変更できないように実装していったのだが、管理者権限を編集できるようにしてみても問題なく↑のテストが通ってしまう問題が発生。
結構詰まってしまったのだが、結論から言うと
assert_not @other_user.reload.admin?
とすべきところを
assert_not @other_user.admin?
としていた。
そりゃ通らねーわなーと思いつつも、結構やりがちなミスのような気がするね。
明日こそはなんとか10章終わらそう。
カロリーメイトください。

- 出版社/メーカー: 大塚製薬
- メディア: 食品&飲料
- この商品を含むブログを見る
今日のunityroom
YES! YOU ARE THE SANTA | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com
俺、普通に諦めるから。笑