В моей модели пользователя определены две роли:
User.role == admin
or
User.role == basic
В моем контроллере приложений :
include MobilizedController
In lib / mobilized_controller.rb :
module MobilizedController
extend ActiveSupport::Concern
included do
before_filter :set_basic_request, :if => :basic_logged_in?
end
private
def set_basic_request
request.format = :basic
prepend_view_path "app/views/basic"
end
def basic_logged_in?
current_user.role == 'basic'
end
end
Все нормально, когда я вошел в систему, он правильно устанавливает Mime Type и отображает мои основные представления.
К сожалению, когда я не вошел в систему, я получаю:
Неопределенный метод 'role' для nil: NilClass
что, я думаю, означает, что current_user не установлен, и, следовательно, вызов nil для него не будет работать.
У кого-нибудь есть предложения по этому поводу? Мне нужно иметь возможность отображать страницу входа по умолчанию, если пользователь не вошел в систему, а затем установить Mime Type при входе в систему.
Любая помощь?