app/views/devise/registrations/edit.html.erb
<%= page_title(title: "Edit Profile") %>
<div class="card-body">
<% if devise_mapping.confirmable? && resource.pending_reconfirmation? %>
<div class="alert alert-info" role="alert">
<i class="fa-solid fa-info-circle"></i> Currently waiting confirmation for: <%= resource.unconfirmed_email %>
</div>
<% end %>
<%= simple_form_for(resource, as: resource_name, url: registration_path(resource_name), html: { method: :put, data: { turbo: false } }) do |f| %>
<div class="card mb-3">
<div class="card-body">
<h5 class="card-title">General</h5>
<%= f.input :name, required: false, autofocus: true %>
<%= f.input :email %>
<%= f.input :password,
hint: "Leave it blank if you don't want to change it",
required: false,
input_html: { autocomplete: "new-password" } %>
<%= f.input :password_confirmation,
required: false,
input_html: { autocomplete: "new-password" } %>
<%= f.input :current_password,
hint: "We need your current password to confirm your changes",
required: true,
input_html: { autocomplete: "current-password" } %>
</div>
</div>
<div class="row">
<div class="col-6">
<%= f.button :submit, "Update" %>
<%= link_to("Cancel", :back, class: "btn btn-secondary") %>
</div>
</div>
<% end %>
</div>