在Sinatra视图中访问OmniAuth助手

时间:2012-10-30 01:06:12

标签: ruby sinatra omniauth erb

我是新手,所以请原谅我,如果我是傻瓜!

我正在使用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的新手,而且我不是一个强大的开发人员。

1 个答案:

答案 0 :(得分:1)

need to define that method inside helpers block,就像这样:

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

然后它将可供视图使用。