Ruby on rails 未定义的方法`验证';对于#<;管理员:0x99e67d8>;

Ruby on rails 未定义的方法`验证';对于#<;管理员:0x99e67d8>;,ruby-on-rails,Ruby On Rails,请我是RoR的新手,我正在尝试根据管理员提供的名称和密码进行管理员身份验证。 我正在使用“RubyonRails教程(Rails5)” 迈克尔·哈特尔(MichaelHartl)在第8章中的“用Rails学习Web开发”;基本登录。 当我尝试使用authenticate方法对用户进行身份验证时,它会显示以下错误消息未定义的方法authenticate for#您的管理员模型中是否有has_secure_密码?不,我没有,这只是默认情况,在使用rails生成模型命令生成模型之后,您需要它:) ad

请我是RoR的新手,我正在尝试根据管理员提供的名称和密码进行管理员身份验证。 我正在使用“RubyonRails教程(Rails5)” 迈克尔·哈特尔(MichaelHartl)在第8章中的“用Rails学习Web开发”;基本登录。
当我尝试使用authenticate方法对用户进行身份验证时,它会显示以下错误消息
未定义的方法authenticate for#

您的
管理员
模型中是否有
has_secure_密码
?不,我没有,这只是默认情况,在使用rails生成模型命令生成模型之后,您需要它:)
adminsessions_controller.rb

class AdminsessionsController < ApplicationController
  def new

  end

  def create
        admin = Admin.find_by(name: params[:adminsession][:name].downcase)
        if admin && admin.authenticate(params[:adminsession][:password])
          render plain: 'log in succesful'
        else
          render plain: 'log in failed' 
        end  
  end
end

admin.rb
class Admin < ApplicationRecord