Почему f.submit не работает, когда я пытаюсь его использовать? - PullRequest
0 голосов
/ 13 июля 2020

Я создал форму для своей базы данных пользователей, изменив его пароль, как показано ниже:

<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :put }) do |f| %>
  <%= devise_error_messages! %>
  <%= f.hidden_field :reset_password_token %>


 <div class="container">
 <form action="/action_page.php">
 <%= f.label :password, "Nova senha" %><br />
    <% if @minimum_password_length %>
  <em>(Mínimo de <%= @minimum_password_length %> caracteres)</em><br />
    <% end %>
    <%= f.password_field :password, autofocus: true, autocomplete: "off" %>
 </div>

 <div class="container">
     <%= f.label :password_confirmation, "Confirmar nova senha" %><br />
    <%= f.password_field :password_confirmation, autocomplete: "off" %>
 </form>
</div>

<div class="actions">
    <%= f.submit "Alterar minha senha" %>
  </div>
 <% end %>

Проблема в том, что мой f.submit "Alterar minha senha" не работает , он не получает действие моего щелчка. Как исправить?

Ответы [ 2 ]

2 голосов
/ 13 июля 2020

Вероятно, проблема в том, что вложенные сформированные не допускаются в HTML. Вы определили две отдельные формы, одну внутри другой. Первый генерируется вашим звонком на form_for. Второй определяется вашим тегом <form>. Таким образом, вероятно, происходит то, что ваша кнопка отправки также отправляет поля во внутренней форме.

Глядя на ваш код, кажется, что вам даже не нужна внутренняя форма - вы используете FormBuilder f объект из form_for для создания вашей внутренней формы. Однако в любом случае вам следует подумать о переупорядочении ваших форм, чтобы они не были вложенными.

Кроме того, примечание HTML недействителен. Ваш закрывающий тег </form> стоит перед закрывающим тегом </div> для .container.

0 голосов
/ 13 июля 2020

Теперь у вас есть 2 формы, одна из которых создана с помощью form_for (), а затем вы определяете другую форму в своем html. Кнопка не находится в форме html, поэтому она не будет отправлять эти поля. Либо удалите тег из своего html, либо переместите кнопку внутри тега формы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...