1

我创建了一个助手来检查 current_user 的角色,以保护某些属性不被未经授权的用户编辑。

除了我在控制台中时,验证工作正常。显然没有用户,但它仍在尝试验证,我得到:

 NoMethodError: undefined method `has_role?' for nil:NilClass

我怎样才能绕过这个验证,或者有没有更好的方法来实现我正在做的事情?

定位模型:

  validate :check_archived_status, :on => :update

  def check_archived_status
    unless UserHelper.staff
      if self.archived == false
        if stuff == otherstuff
          do some other stuff
        end
      end
    end    
  end

用户助手:

def self.staff
  staff = User.current_user.has_role?('Super', 'Admin', 'Tech')
end
4

1 回答 1

0

您不能current_user在控制台上填充一些随机用户吗?
像这样: current_user = User.last,所以验证不会给你任何错误。

于 2012-09-11T21:58:47.550 回答