Я использую плагин авторизации CanCan (http://github.com/ryanb/cancan) для моего приложения, и до сих пор он работал отлично. Я установил его следующим образом:
class Ability
include CanCan::Ability
def initialize(user)
user ||= User.new # guest user
if user.role == "admin"
can :manage, :all
else
can :read, :all
end
end
end
Это позволяет мне назначать некоторых пользователей администраторами, и только они могут получить доступ к функциям записи. Теперь я хочу сделать еще один шаг и сделать так, чтобы люди, которые вообще не вошли в систему (current_user / user_session не существует), не могли получить доступ к некоторым контроллерам сайта. Я знаю, что это должен быть своего рода elsif со средней частью кода для пользователя и последним остальным для всех остальных. Тем не менее, я не смог выяснить, как лучше всего это настроить. Кто-нибудь знаком с CanCan и знает, как лучше всего подойти к этому типу ситуации?
Спасибо, ребята, каждый помогает мне больше узнать о рельсах и развитии в целом!