Ruby on rails 4 如何使方法在分部中可用?
我是一名rails初学者,正在学习rails 4,我正在尝试通过实践来学习。我正在制作一个简单的博客,我想要一些简单的用户身份验证。我试图在这里学习,所以我不想实现Desive等。我有一个部分头,负责我的网站头,我试图把一个链接到注销,只有当用户登录时才会显示。我有一个简单的会话控制器,它有一个用于注册表单的新操作,一个创建操作,在匹配电子邮件和密码后设置当前用户,并设置会话[:user\u id]=@current\u user.id,以及一个取消会话的销毁操作。在我的应用程序控制器中,我有这样一个方法Ruby on rails 4 如何使方法在分部中可用?,ruby-on-rails-4,Ruby On Rails 4,我是一名rails初学者,正在学习rails 4,我正在尝试通过实践来学习。我正在制作一个简单的博客,我想要一些简单的用户身份验证。我试图在这里学习,所以我不想实现Desive等。我有一个部分头,负责我的网站头,我试图把一个链接到注销,只有当用户登录时才会显示。我有一个简单的会话控制器,它有一个用于注册表单的新操作,一个创建操作,在匹配电子邮件和密码后设置当前用户,并设置会话[:user\u id]=@current\u user.id,以及一个取消会话的销毁操作。在我的应用程序控制器中,我有这
def logged_in?
!session[:user_id].nil?
end
在my_header.html.erb partial中,我有
<% if logged_in? %>
(My link)
<% end %>
(我的链接)
当我加载页面时,它告诉我它找不到“logged_in?”方法。有人知道为什么吗?谢谢 默认情况下,控制器上的方法不向视图公开(您的分部是其中的一部分) 2种解决方案:
logged\u in?
方法作为助手方法,例如在AuthenticationHelper
中。但是,执行此操作时,您无法从控制器访问它class ApplicationController
默认情况下,控制器上的方法不会公开给视图(您的分部是其中的一部分) 2种解决方案:
logged\u in?
方法作为助手方法,例如在AuthenticationHelper
中。但是,执行此操作时,您无法从控制器访问它class ApplicationController
你就不能用:
if @current_user
你就不能用:
if @current_user