2

我是新手,如果我是愚蠢的,请原谅我!

我正在使用OmniAuth for Sinatra来帮助验证用户身份。在我的layout.erb中,我想访问current_user帮助程序以检查用户是否已登录。帮助程序是这样的:

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

但我不确定如何在我的布局视图中访问它。我认为这可以解决问题:

<% if current_user %> Do stuff here <% end %>

但没有运气。任何帮助,将不胜感激!就像我说的,我是 Ruby 新手,而且我不是一个强大的开发人员。

4

1 回答 1

1

需要在helpersblock中定义该方法,如下所示:

helpers do
  def current_user
    @current_user ||= User.get(session[:user_id]) if session[:user_id]
  end
end

然后它将可用于视图。

于 2012-10-30T01:10:11.050 回答