カロリーメイトください

Barbaroi Ware(バルバロイ・ウェア)という名前でアプリ開発してます

『Ruby on Rails チュートリアル』「第10章ユーザーの更新・表示・削除」2

railstutorial.jp

序文

Railsチュートリアル21日目。

KICK THE CAN CREWとそのメンバーが参加した楽曲の歌詞の全文検索ができるWebアプリ」という世界初のウルトラスーパーミラクル斬新なアプリを開発してるんですが、世界中で俺しか興味ないみたいで寂しいです。
dtcc.kankeli.net
著作権関係は来年元日の著作権法改正でクリアになると信じています。

進捗

  • 第10章ユーザーの更新・表示・削除
    • 10.1 ユーザーを更新する
    • 10.2 認可

コード実装部分(一部)

/sample_app/test/controllers/users_controller_test.rb

require 'test_helper'

class UsersControllerTest < ActionDispatch::IntegrationTest
  # @userにfixturesで定義したテスト用データを設定する
  def setup
    @user = users(:michael)
  end

  test "should get new" do
    get signup_path
    assert_response :success
  end
  
  # ログインせずにユーザーデータを編集しようとしたときに
  # ログイン用URLへリダイレクトされるか
  test "should redirect edit when not logged in" do
    # ログインしていない状態で
    # GETで/users/1/editにアクセスする
    get edit_user_path(@user)
    # flashにメッセージが入っているか
    assert_not flash.empty?
    # ログイン用URLへリダイレクトされるか
    assert_redirected_to login_url
  end

  # ログインせずにユーザーデータを更新しようとしたときに
  # ログイン用URLへリダイレクトされるか
  test "should redirect update when not logged in" do
    # ログインしていない状態で
    # PATCHTで/users/1にデータを送信する
    patch user_path(@user), params: { user: { name: @user.name,
                                              email: @user.email } }
    # flashにメッセージが入っているか
    assert_not flash.empty?
    # ログイン用URLへリダイレクトされるか
    assert_redirected_to login_url
  end
end

GitHub

github.com

実行結果

f:id:yjkym:20181210154222p:plain

感想

Railsチュートリアル10章2日目。

ユーザープロフィール編集のテストを書いたり、ログインしていないユーザーのアクセス制限を行ったり。
なんだかいつも以上に集中していなかった。

Railsチュートリアルは割と複数の機能をがっと実装してしまったり、テストを先に書いてみたり後から書いてみたり、どうも進め方に統一感がなくてリズムがつかみにくい感じがしている。

日本の参考書は割とそういうところまでしっかり意識してくれているものが多い印象。
別に悪くはないのだけど。

カロリーメイトください。

今日のunityroom

Menu [ PAP5 ver. ] | 無料ゲーム投稿サイト unityroom - Unityのゲームをアップロードして公開しよう
www.youtube.com
メニューだけっぽいですね。
こんなん作れるようになる気がしない。