Я застрял на этом более 24 часов, пытаясь следовать другим решениям, опубликованным здесь, но я не могу заставить это работать. Я новичок в Rails и мне нужна помощь!
Я хочу, чтобы моя страница / users / edit работала так, чтобы я мог просто изменить пароль пользователя. Первоначально я хотел сделать это без current_password, но я не против оставить его там до тех пор, пока смогу изменить и обновить пароль.
Вот что я сделал:
Я последовал примеру в Devise Wiki и вставил его в свой контроллер Users, который я указал для наследования от Devise :: RegistrationsController
class UsersController < Devise::RegistrationsController
...
end
Я изменил свои маршруты:
devise_for :users, :controllers => { :registrations => 'users' } do
match '/users' => 'users#index'
end
А вот и моя модель:
class User < ActiveRecord::Base
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
attr_accessor :password, :password_confirmation, :current_password
attr_accessible :email, :password, :password_confirmation, :current_password, :remember_me, :full_name, :coach, :bio
validates :full_name, presence: true
end
Я предполагал, что созданный мной UsersController переопределит контроллер Registrations и что я смогу изменить / обновить пароль. Он работает в той степени, в которой происходит перенаправление на root_path (что должно происходить только после обновления без текущего пароля), но новый пароль не сохраняется (я проверил журналы и не было SQL, чтобы показать, что он был сохранен) ...
Есть идеи?