我正在尝试使用 mongoid 和 mongodb 而不是普通数据库来完成 Michael Hartl 的 rails4 教程。我已经到了必须设置用户登录和注销的地方,这就是我遇到的问题。下面是我用来检查用户电子邮件是否已注册的代码。
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
# sign in and load user page
else
flash[:error] = 'Invalid email/password combination'
render 'new'
# error and re-render signin
end
不幸的是,我遇到了一个未找到的文档,因为这是当查询变为空白时返回的内容。它应该进入 else 但我得到一个 rails 错误页面,该页面返回未找到的 mongoid 错误文档。如何避免这种情况并让代码执行 else 语句中的内容?
谢谢!