Intento utilizar el dispositivo en mi aplicación Rails. Pero no entiendo cómo puedo dar la funcionalidad del usuario para cambiar su contraseña. Necesito un formulario con los campos "contraseña anterior", "nueva contraseña" y "nueva confirmación de contraseña". ¿Cómo puedo hacerlo?Rails 3 Diseñar cambiar manualmente la contraseña
si uso legado forma predeterminada en "/ perfil"
<%= render :template => 'devise/passwords/edit',
:locals => {
:resource => my_user_model_variable,
:resource_name => my_user_model_name } %>
En user.rb contienen línea
attr_accessible :email, :password, :password_confirmation, :remember_me
pero no había undefined method 'devise_error_messages!' for #<#<Class:0x59b9200>
y luego (después de comentar devise_error_messages! Line) undefined method 'password' for #<Class:0x59b9200>
errores.
trato de usar mi propia PasswordsController:
class PasswordsController < ApplicationController
before_filter :authenticate_user!
def edit
@user = current_user
end
def update
@user = current_user
raise params.inspect
if @user.update_with_password(params[:user])
sign_in(@user, :bypass => true)
redirect_to root_path, :notice => "Password updated!"
else
render :edit
end
end
end
y utilizar el asesoramiento de esta pregunta: Rendering the Devise edit Password Form
insertar este código
<%= render :template => 'passwords/edit',
:locals => {
:resource => current_user,
:resource_name => User } %>
en la página "/ perfil".
contraseñas/edit.html.erb contienen este código
<h2>Change your password</h2>
<%# raise resource.inspect %>
<%= 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 %>
<p><%= f.label :password, "New password" %><br />
<%= password_field_tag :name => "user[password]"%></p>
<%= password_field_tag :name => "user[password_confirmation]"%></p>
<p><%= f.submit "Change my password" %></p>
<% end %>
<%= render :partial => "devise/shared/links" %>
Pero tiene un valor dictada forma "/ perfil" para el atributo acción y enviar este formulario no hacen nada.
Debe aceptar una de estas respuestas si es correcta. –