カスタマイズ用のビューファイルを生成する
$ rails g devise:views
-v 生成するビュー
コマンドで生成するビューファイルを指定することができる。
今回は新規登録用のビューファイルregistations
とログイン用のビューファイルsession
を指定する。
$ rails g devise:views -v registrations sessions
フォームを追加する。今回は名前を追加する。
registrations/new.html.erb
<%= form_for...do |f| %>
<%= f.text_field :name %>
<% end %>
nameの入力フォームはできたが、deviseはデフォルトではemailとpasswordの値しか保存できないようになっている。nameの値を保存したい場合は、applicationコントローラで下図のメソッドを作成し、before_actionで呼び出す必要がある。
これはストロングパラメータのようなもの。
application_controller.rb
class ApplicationController < ActionController::Base
before_action :configure_permitted_parameters, if: :devise_controller?
private
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :name
end