У меня есть метод user_authenticate, который устанавливает @current_user на основе сеанса. У меня есть панель навигации, содержащая ссылки на навигацию. Я хочу скрыть одну из ссылок и показать ее только в том случае, если идентификатор пользователя равен 8 (это admin). Я написал макет, как это.using link_to inside if
<div align="center" style="width: 90%">
<nav class="navbar navbar-inverse" role="navigation">
<%= link_to "Home", '/', :class => "btn btn-default navbar-btn"%>
<%= link_to "Currency Master", currencies_url, :class => "btn btn-default navbar-btn"%>
<%= link_to "Receipts", receipts_url, :class => "btn btn-default navbar-btn"%>
<%= link_to "Expenses", expenses_url, :class => "btn btn-default navbar-btn"%>
<%= link_to "Exchange", exchanges_url, :class => "btn btn-default navbar-btn"%>
<% if @current_user.id == 8 %><%= link_to "Report", reports_url, :class => "btn btn-default navbar-btn" %>
<% end %>
</nav>
код работает отлично, что он показывает кнопку «Отчет» на навигационной панели только пользовательский идентификатор 8. Но как только я нажимаю на ссылку я получаю следующее сообщение об ошибке.
undefined method `id' for nil:NilClass
Extracted source (around line #8):
6
7
8
9
10
<%= link_to "Expenses", expenses_url, :class => "btn btn-default navbar-btn"%>
<%= link_to "Exchange", exchanges_url, :class => "btn btn-default navbar-btn"%>
<% if @current_user.id == 8 %><%= link_to "Report", reports_url, :class => "btn btn-default navbar-btn" %>
<% end %>
</nav>
Вы можете добавить полные журналы ошибок? – Zero