Как предотвратить изменение роли, когда вы получаете ошибку проверки при вводе неправильного пароля - PullRequest
0 голосов
/ 22 февраля 2012
<%-roles = Role.all%>

<%= panel "Edit" do%>

 <%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name), :html => { :method => :put }) do |f| %>
  <%= f.error_messages %>
  <% f.inputs do %>
  <p><%= f.label :password %> <i>(leave blank if you don't want to change it)</i><br />
  <%= f.password_field :password %></p>
  <p><%= f.label :password_confirmation %><br />
  <%= f.password_field :password_confirmation %></p>

  <p><%= f.label :current_password %> <i>(we need your current password to confirm your changes)</i><br />
  <%= f.password_field :current_password %></p>
  <%=f.input :roles,:collection => Role.all%>
<% end %>
    <% f.buttons do %>
<%=f.submit "Update" %></p>
<% end %>

Здесь, когда я не набираю пароль, появляется сообщение об ошибке, но также изменяется и роль пользователя.Как сделать так, чтобы роль не менялась?

1 Ответ

0 голосов
/ 22 февраля 2012

Изменения роли пользователя в памяти, а не в базе данных. Вы можете выполнить model.reload, чтобы отменить изменения в памяти и перезагрузить пользователя из базы данных в случае ошибки проверки.

...