gpt4 book ai didi

ruby-on-rails - ruby rails : undefined method `current_user?`

转载 作者:数据小太阳 更新时间:2023-10-29 08:23:44 24 4
gpt4 key购买 nike

我在尝试弄清楚为什么我得到 undefined methodcurrent_user?'`

时遇到问题

在我的应用程序 Controller 中:

class ApplicationController < ActionController::Base
protect_from_forgery
include SessionsHelper

# Force signout to prevent CSRF attacks
def handle_unverified_request
sign_out
super
end

private
def current_user
@current_user ||= User.find(session[:user_id]) if session[:user_id]
end
helper_method :current_user

def authorize
redirect_to login_url, alert: "Not Autherized" if current_user.nil?
end

def track_activity(trackable, action = params[:action])
current_user.activities.create! action: action, trackable: trackable
end
end

在我的 session 助手中:

module SessionsHelper
def sign_in(user)
cookies.permanent[:remember_token] = user.remember_token
self.current_user = user
end
def signed_in?
!current_user.nil?
end
def current_user=(user)
@current_user = user
end
def current_user
@current_user ||= User.find_by_remember_token(cookies[:remember_token])
end

def sign_out
self.current_user = nil
cookies.delete(:remember_token)
end
end

我对 Rails 还是个新手,我正在学习一些教程,但我想弄清楚为什么我得到 current_user 的未定义方法?

这是我的错误发生的地方 - 用户查看文件夹:

<% unless current_user?(@user) %>
<div id="follow_form">
<% if current_user.following?(@user) %>
<%= render 'unfollow' %>
<% else %>
<%= render 'follow' %>
<% end %>
</div>
<% end %>

最佳答案

您没有在任何地方定义 current_user? 方法,而您正在调用 current_user?(@user)

也许,您需要调用 signed_in? 而不是 current_user?,或者定义您所说的 current_user?(@user)/p>

关于ruby-on-rails - ruby rails : undefined method `current_user?` ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16493126/

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