| 09 | Gmailの設定 << [ホーム] >> | 11 | ダッシュボードの追加
ユーザー編集ページを更新してパスワードのフィールドを減らします。
ユーザ情報を更新する際に今までは現在のパスワードを入力していましたが、今回の変更によりパスワード入力を省略できるようにします。
「app\controllers」フォルダに「registrations_controller.rb」ファイルを新規作成します。
app\controllers\registrations_controller.rb(新規作成したファイル)
class RegistrationsController < Devise::RegistrationsController protected def update_resource(resource, params) resource.update_without_password(params) end end
「config\routes.rb」ファイルの記述を以下のように追加更新します。
追加更新 config\routes.rb(6行目)
devise_for :users, path: '', path_names: {sign_up: 'register', sign_in: 'login', edit: 'profile', sign_out: 'logout'}, controllers: {registrations: 'registrations'}
config\routes.rb
Rails.application.routes.draw do # ルートを app\views\pages\home.html.erb に設定 root 'pages#home' devise_for :users, path: '', path_names: {sign_up: 'register', sign_in: 'login', edit: 'profile', sign_out: 'logout'}, controllers: {registrations: 'registrations'} get 'pages/home' # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html end
記述更新 app\views\devise\registrations\edit.html.erb
<br/> <br/> <div class="row"> <div class="col-sm-6" style="margin:0 auto;"> <div class="card text-center"> <h4 class="card-header text-center bg-warning"><font style="font-size: 1.4rem"><b>登録情報の編集</font> <font style="font-size: 1.1rem">Edit registration information</b></font></h4> <div class="card-body"> <br/> <%= form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put }) do |f| %> <%= render "devise/shared/error_messages", resource: resource %> <div class="form-group"> <%= f.text_field :full_name, autofocus: true, placeholder: "氏名 full name", class: "form-control" %> </div> <div class="form-group"> <%= f.email_field :email, autofocus: true, placeholder: "メールアドレス mail address", class: "form-control" %> </div> <% if devise_mapping.confirmable? && resource.pending_reconfirmation? %> <div>現在、次の確認を待っています:<%= resource.unconfirmed_email %></div> <% end %> <br/> <div class="form-group"> <%= f.password_field :password, autocomplete: "off", placeholder: "変更するパスワード Password to change", class: "form-control" %> </div> <div class="form-group"> <%= f.password_field :password_confirmation, autocomplete: "off", placeholder: "変更するパスワード(もう一度) Change password again", class: "form-control" %> </div> <br/> <br/> <div class="actions"> <%= f.submit "更新する update", class: "btn btn-warning btn-block" %> </div> <% end %> <%= link_to "戻る back", :back, class: "btn btn-outline-info btn-block" %> </div> </div> </div> </div> <br/>
ブラウザ確認
http://localhost:3000/profile

↓↓クリックして頂けると励みになります。
| 09 | Gmailの設定 << [ホーム] >> | 11 | ダッシュボードの追加