我正在使用Authologic和一些书面方法来管理用户以及他们在我的应用中可以做些什么。我真的不需要有多个角色的能力,我只需要能够摧毁一些东西。我想知道我是否可以一起破解这个。
在我的“QuestionsController”中,我使用以下过滤器:
before_filter :require_user, :only => [:edit, :update, :destroy] # all actions require user to be logged in
before_filter :init_data # create a member variable called @post, initialized based on the action
before_filter :require_owner, :only => [:edit, :update, :destroy] #edit, update, and destroy actions require ownership
我试图找出是否可以使用指定current_user的用户名是否为“bgadoci”的条件来包装这些过滤器,然后不执行过滤器。这是否可能,如果是这样,我应该使用什么语法(对ruby和rails来说是新的一种)。
以下是我现在所提出的第一行语法错误(显然)。
if :current_user :username => "bgadoci"
before_filter :require_user, :only => [:edit, :update, :destroy] # all actions require user to be logged in
before_filter :init_data # create a member variable called @post, initialized based on the action
before_filter :require_owner, :only => [:edit, :update, :destroy] #edit, update, and destroy actions require ownership
end
答案 0 :(得分:0)
也许你可以做一个包装那些其他过滤器的过滤器?
before_filter :check_for_me
def check_for_me
unless current_user.username == 'me'
before_filter :require_user
..
end
end