gpt4 book ai didi

ruby-on-rails - Ruby on rails - 辅助方法 - Ruby on rails 中的未定义方法 `log_in'

转载 作者:太空宇宙 更新时间:2023-11-03 18:15:19 25 4
gpt4 key购买 nike

我正在根据 Michael Hartl 的 Ruby on Rails 教程第 3 版实现登录。卡在第 8 章。

SessionsHelper 中定义一个新的 log_in 辅助函数,如下所示。当我尝试访问 SessionController 中的相同函数时,我得到了未定义的方法 log_in:

module SessionsHelper

def log_in(user)
session[:user_id] = user.id
end
end

和SessionCONtroller代码是

class SessionsController < ApplicationController
def new
end

def create
user = User.find_by(email: params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
log_in user
redirect_to user
else
flash[:danger] = 'Invalid email/password combination'
render 'new'
end
end

最佳答案

您缺少 ApplicationController 部分 here其中包括 Controller 中的助手,因此可以直接访问其方法:

class ApplicationController < ActionController::Base
protect_from_forgery with: :exception
include SessionsHelper
end

关于ruby-on-rails - Ruby on rails - 辅助方法 - Ruby on rails 中的未定义方法 `log_in',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27284216/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com