Я реализовал Authlogic в своем приложении rails, которое отлично работает и тестирует. Пользователи могут войти, выйти и т. Д.
Однако, поскольку я изменил свои методы в users_controller , чтобы использовать переменную @ current_user , ни один из моих пользовательских методов или форм (как ни странно, кроме "index" ...) работа!
Например, этот метод «Показать» работает и показывает профиль пользователя для любого пользователя (Примечание: я хочу в конечном итоге ограничить это каким-то образом вошедшим в систему пользователем каким-либо образом):
def show
@user = User.find(params[:id])
end
Если я буду следовать методу показа, как показано в приведении Authlogic rails и официальном примере:
def show
@user = @current_user
end
Я получаю все виды undefined method METHOD for nil:NilClass
ошибок. Кажется, что переменная @ current_user не содержит никакой информации пользователя.
Я предполагаю, что @current_user извлекает информацию из метода current_user , как определено в контроллере приложения ниже:
def current_user
return @current_user if defined?(@current_user)
@current_user = current_user_session && current_user_session.record
end
Что мне не хватает? Я догадываюсь, что нет сопоставления между объектом User из модели пользователя и методом current_user. Любая помощь будет принята с благодарностью!
Заранее спасибо!
~ Dan