ruby-on-rails - Devise 在更改密码后注销用户

标签 ruby-on-rails ruby ruby-on-rails-3 devise

我正在使用 devise,当用户更改密码时,网站会将他们注销。我在网上读到,添加 sign_in 可以解决问题但不起作用,并且当密码更改时用户会注销。这是我的代码

if @user.errors[:base].empty? and @user.update_attributes(params[:user])
  sign_in(current_user, :bypass => true)
  flash[:success] = "User account has been successfully updated"
  redirect_to edit_user_path(params[:site_id], @user)
else
  render :action => :edit, :status => :unprocessable_entity
end

我原以为这会起作用,但无论我做什么,我仍然会被注销......任何遗漏或可能一个设计设置已关闭......任何帮助将不胜感激

最佳答案

我通常关注these说明和它的工作原理。也许你应该做

sign_in(@user, :bypass => true)

代替

sign_in(current_user, :bypass => true)

关于ruby-on-rails - Devise 在更改密码后注销用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11567732/

相关文章:

mysql - Rails 临时表

ruby-on-rails - 如何在 Rails 应用程序中将 sidekiq 放入 Docker?

html - For Each in rails html模式延续

ruby - 为什么以及何时使用 shell 而不是 Ruby

ruby-on-rails - rails 3.1,选择题考试,怎么设计?

ruby-on-rails - 在rails中使用json或js.erb进行ajax更好?哪个更快,为什么?

javascript - 为什么删除链接在此 Ruby on Rails 项目中不起作用?

ruby-on-rails - 如何创建表名为整数的模型?

ruby - 将任意选项传递给 rabl partial/extend

Mysql2 响应不适用于 Ruby 中的收集方法