J'ai une méthode user_authenticate qui définit @current_user en fonction de la session. J'ai une disposition de la barre de navigation qui contient les liens de navigation. Je veux cacher un des liens et ne le montrer que si l'identifiant de l'utilisateur est 8 (qui est admin). J'ai écrit la mise en page comme ça.en utilisant link_to inside si
<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>
Le code fonctionne très bien qu'il montre le bouton « Rapport » sur navbar seulement de l'ID utilisateur est 8. Mais dès que je clique sur le lien, je me l'erreur suivante.
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>
pouvez-vous s'il vous plaît ajouter les journaux d'erreur complète? – Zero