Syntaxe de l'instruction Rails if

J'ai écrit L'ERB suivant et j'obtiens une erreur de syntaxe au point d'interrogation. Cette fonction d'assistance de devise est actuellement évaluée comme false. Qu'ai-je manqué?

<%= if user_signed_in? %>
<%= render 'form' %>
<%= end %>
29
demandé sur eugen 2011-07-15 15:00:45

3 réponses

Essayez ceci :

<% if user_signed_in? %>
  <%= render 'form' %>
<% end %>

Si vous faites , il va essayer de sortir la chose que vous mettez entre les balises. Mais, si vous n' , alors aucune sortie n'est traitée, juste le code est évalué. Si cela ne fonctionne pas, alors il y a probablement quelque chose de mal avec votre user_signed_in? méthode d'aide.

76
répondu SteenhouwerD 2018-04-10 21:04:43

<%= va essayer de sortir votre user_signed_in? helper, alors essayez:

<% if user_signed_in? %>
  <%= render 'form' %>
<% end %>

Ou encore mieux (et moins déroutant):

<%= render 'form' if user_signed_in? %>
24
répondu Mario Uher 2011-07-15 12:40:50

Essayez ceci

<% if user_signed_in? %>
    <%= render 'form' %>
<% end %>
2
répondu Mahesh 2018-02-15 16:42:45