web-dev-qa-db-fra.com

Rails if syntaxe de l'instruction

J'ai écrit l'ERB suivant et j'obtiens une erreur de syntaxe au point d'interrogation. Cette fonction d'aide de devise est actuellement évaluée comme fausse. Qu'est-ce que j'ai raté?

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

Essaye ça :

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

Si vous faites <% = ...%>, il essaiera de sortir la chose que vous mettez entre les balises. Mais si vous faites <% ...%>, aucune sortie n'est traitée, seul le code est évalué. Si cela ne fonctionne pas, il y a probablement un problème avec votre user_signed_in? méthode d'aide.

81
SteenhouwerD

<%= essaiera de sortir votre user_signed_in? helper, essayez donc:

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

ou encore mieux (et moins déroutant):

<%= render 'form' if user_signed_in? %>
25
Mario Uher

essaye ça

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