【Rails開発メモ】ユーザー登録機能を実装する手順

Railsでユーザー登録機能を実装する手順」について書きます。本質は、投稿を保存する流れと何ら変わらないので、短縮しつつ記録します。validateなど細かいところは割愛しつつ、今回は最低限の登録機能をどうやって実装するかを書いていきます。

  • 前提

    現時点でユーザー登録用のview(view/users/new.html.erb)と、DBは完成しているという前提です。今回は「名前」と「メアド」を登録する仕様にするので打ち込むコマンドは以下の通りです。

    以上の前提の上でいじるポイントは3つのみです。

    いじるところ3つ
    • ポイント①:ルーティングでcreateを追記する
    • ポイント②:new.html.erbでform_tagメソッドを使い、情報をname属性で拾う
    • ポイント③:controllerでcreateアクションを追記する
  • STEP1
    ルーティング設定

    ルーティングで以下を追記しましょう。

  • STEP2
    form_tagメソッドで送信先を指定し、name属性で情報を拾う

    new.html.erbにおいて、form_tagメソッドを用いて送信先を指定しつつ、name属性で情報を拾い上げます。

  • STEP3
    createアクションを作成する

    最後にcontrollerにおいて、createアクションを定義し、new.html.erbから拾ってきた情報を保存しつつ、リダイレクトの処理も行います。

プロフィール画像登録機能について追記します。ユーザーが新規登録をする段階で、プロフィール画像を登録できるようにします。

プロフィール画像登録機能
  • STEP1:画像用カラムをテーブルに追加する
  • STEP2:form_tagを編集する
  • STEP3:コントローラーを編集する
  • STEP1
    カラムを追加する

    画像情報を保存する用のカラムをUsersテーブルに追加します。カラムを追加する手順は覚えてしまうと便利です。

  • STEP2
    form_tagを編集する

    次にプロフィール画像を登録できるように、form_tag内を書き換えます。

    けんぞう

    • inputのtypeをfileにすること
    • form_tagに対して、{multipart: true} を記述すること

    の2点がポイントですね

  • STEP3
    コントローラーを編集する

    createアクションで、登録された画像情報もUsersテーブルに保存されるように記述していきます。

    今回はもしユーザーが画像を入力しなかった場合は、デフォルトで用意したcat.jpgを読み込むようにします。cat.jpgは、publicフォルダ下にuser_imageフォルダを作成し、その下に配置してください。

  •