Я реализовал Authlogic в своем приложении rails, который отлично работает и отлично работает. Пользователи могут войти в систему, выход из системы и т.д.Проблема с Rails + Authlogic @current_user - метод «Показать» больше не работает
Однако, так как я изменил свои методы в users_controller не использовать @current_user переменной, ни один из моих методов пользователя или форм (кроме «индекс» странно ...) Работа!
К примеру, это «Показать» методы работы и показывает профиль пользователя для любого пользователя (Примечание: Я хочу, чтобы в конечном счете ограничить это вошедшего в систему пользователя или иначе):
def show
@user = User.find(params[:id])
end
Если я следовать показать способ, как показано на Authlogic рельсы бросания и официальный пример:
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
Правильно, Разрабатывает обеспечивает 'current_user' метод для вас. –
Мне кажется, что я вызываю метод, а не предопределенную переменную. Это было немного запутанно, так как большая часть кода примера онлайн была установлена на @user = @current_user. В очередной раз благодарим за помощь! Вот почему я люблю StackOverflow – thoughtpunch