Ruby on rails Authlogic-没有将nil隐式转换为整数
我正在更新一个旧的Rails(Ruby v 2.5.6和Rails v 4.2.10)应用程序,我遇到了一个奇怪的错误,当用户尝试登录时,如果密码不正确,我会得到 没有将nil隐式转换为整数 在线 if@user\u session.save 所有的代码都是authlogic的库存,所以我不明白为什么会发生这种情况Ruby on rails Authlogic-没有将nil隐式转换为整数,ruby-on-rails,ruby,authlogic,Ruby On Rails,Ruby,Authlogic,我正在更新一个旧的Rails(Ruby v 2.5.6和Rails v 4.2.10)应用程序,我遇到了一个奇怪的错误,当用户尝试登录时,如果密码不正确,我会得到 没有将nil隐式转换为整数 在线 if@user\u session.save 所有的代码都是authlogic的库存,所以我不明白为什么会发生这种情况 class UserSessionsController < BaseGUIController include CurrentCart def new @u
class UserSessionsController < BaseGUIController
include CurrentCart
def new
@user_session = UserSession.new
end
def create
@user_session = UserSession.new(user_session_params)
if @user_session.save
flash[:success] = "Welcome back!"
redirect_to root_url
else
render :new
end
end
private
def user_session_params
params.require(:user_session).permit(:email, :password, :remember_me)
end
end
class usersessioncontroller
它应该将@user_会话返回为未保存,并将用户重定向回登录以重试。如果密码正确,则没有问题
我是不是错过了一些很明显的东西
谢谢。你能粘贴你的参数是如何通过控制器和你的用户会话模型的吗请
如果@user\u session。试试(:save)
应该可以解决这个问题。首先,显示你的用户会话模型,你告诉了你从哪个版本的Rails升级,而不是升级到哪个版本。您是否正在升级到Rails 5或6?这只是一种预感,但可能是您有一个“不正确登录”或类似的列,并且它正在尝试将1添加到此列,但无法执行此操作,因为它为零(而不是0)。尝试对此列执行“全部更新”,将其设置为0,其中为零