Rails:def admin_user

时间:2011-09-05 14:04:25

标签: ruby-on-rails ruby-on-rails-3

如果我的控制器中有此代码,如何定义admin_user:

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

admin_user必须是身份1的用户。

我想使用这样的东西:

<% if admin_user %> content for admin only< %elsif current_user%> content for admin and other logged in users <% end %>

PS。我不想使用CanCan或其他宝石。

3 个答案:

答案 0 :(得分:1)

def admin_user
  current_user.try(:id) == 1
end

应该可以,但恕我直言,这不是很好。

答案 1 :(得分:0)

这样的东西?

# checks to see if current_user exists, and if so, has id 1
def admin_user?
  current_user && current_user.id == 1
end

答案 2 :(得分:0)

也许在您的用户模型中:

def is_admin?
  self.user_id == 1
end

然后,您可以调用类似

的内容
  

current_user.is_admin?