2014-12-04 2 views
0
<p><% if current_user.admin == true %> 

дает мне ошибкиdevise current_user бросает эры, когда никто не вошел в систему?

undefined method `admin' for nil:NilClass 

, когда никто не вошел в систему. Это потому, что вы не можете позвонить администратору на ноль, и current_user равна нулю, потому что ни один не вошел в систему. Как я могу получить все, чтобы нормально отображаться, если никто не вошел в систему? Учитывая, что это главная страница, и я просто вызываю current_user.admin для проверки подлинности, кто может использовать Mercury cms. Спасибо за помощь.

+0

В качестве альтернативы методу Ника, можно также назвать 'current_user.try (: админ)', который будет возвращать ноль, а не поднимать исключение. См. Http://apidock.com/rails/Object/try – Anand

ответ

2

Необходимо проверить, существует ли текущий пользователь.

Попробуйте этот код

<p><% if current_user && current_user.admin == true %> 
+0

спасибо именно то, что я искал, я соглашусь, когда истечет срок –

Смежные вопросы