Редактирование поля пароля не будет отображаться в форме - Rails 6 - PullRequest
3 голосов
/ 27 сентября 2019

Я пытаюсь отредактировать свой пароль через форму редактирования, поэтому я ожидаю, что он покажет символы диска в качестве доказательства того, что он извлекает мой пароль из базы данных.Однако при открытии моей страницы редактирования пользователя пароль отсутствует и не сохраняет обновления из базы данных.

Вот моя форма:

          <div class="row">

            <div class="col-lg-12">
              <div class="card">
                <div class="card-header d-flex align-items-center">
                  <h4>Edit user</h4>
                </div>
                <div class="card-body">


               <%= form_for @user, :html => { class: "form-horizontal", role: "form" } do |f| %>
                    <div class="form-group row">
                      <label class="col-sm-2 form-control-label">
                           <%= f.label :name %>
                      </label>
                      <div class="col-sm-10">
                          <%= f.text_field :name, class: "form-control", placeholder: "Name..", autofocus: true %>
                      </div>
                    </div>

                    <div class="form-group row">
                      <label class="col-sm-2 form-control-label">
                           <%= f.label :username %>
                      </label>
                      <div class="col-sm-10">
                          <%= f.text_field :username, class: "form-control", placeholder: "Username..", autofocus: true %>
                      </div>
                    </div>

                    <div class="form-group row">
                      <label class="col-sm-2 form-control-label">
                           <%= f.label :email %>
                      </label>
                      <div class="col-sm-10">
                          <%= f.email_field :email, class: "form-control", placeholder: "Email..", autofocus: true %>
                      </div>
                    </div>


                    <div class="form-group row">
                      <label class="col-sm-2 form-control-label">
                           <%= f.label :password %>
                      </label>
                      <div class="col-sm-10">
                          <%= f.password_field :password, class: "form-control", placeholder: "Password..", autofocus: true %>
                      </div>
                    </div>


                    <div class="line"></div>
                    <div class="form-group row">
                      <div class="col-sm-4 offset-sm-2">

                        <%= link_to "Cancel", users_path, class: "btn btn-secondary" %>
                        <%= f.submit "Update", class: "btn btn-primary" %>
                      </div>
                    </div>
                 <% end %>
                </div>
              </div>

А вот контроллер для этого конкретного метода:

  def edit
    @user = User.find(params[:id])
  end

  def update
    @user = User.find(params[:id])

    if @user.update(user_params)
      flash[:notice] = "User was successfully created."
      redirect_to user_path(@user)
    else
      render 'edit'
    end
  end 

Есть идеи, что мне не хватает для отображения пароля в виде символа диска при редактировании и возможности изменения - обновить пароль в той же форме редактирования?

1 Ответ

0 голосов
/ 27 сентября 2019

Попробуйте установить значение поля пароля.Смотрите этот документ о полях пароля.https://apidock.com/rails/ActionView/Helpers/FormHelper/password_field

<div class="form-group row">
    <label class="col-sm-2 form-control-label">
        <%= f.label :password %>
        </label>
    <div class="col-sm-10">
        <%= f.password_field :password, value: f.password, class: "form-control", placeholder: "Password..", autofocus: true %>
    </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...