2011-07-15 8 views
26

Escribí el siguiente ERB y recibo un error de sintaxis en el signo de interrogación. Esta función auxiliar del dispositivo actualmente se evalúa como falsa. ¿Qué me he perdido?Rails if sintaxis de la declaración

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

Tenga en cuenta que " ? ' y '!' son ** caracteres ** válidos en los nombres de los métodos. –

Respuesta

70

Prueba esto:

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

Si lo hace <% = ...%> que tratará de salida de la cosa se pone entre las etiquetas. Si esto no funciona, ¿es probable que haya algún problema con su user_signed_in? método de ayuda.

2

probar esto

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

<%= tratarán de dar salida a su user_signed_in? ayudante, a fin de tratar:

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

o incluso mejor (y menos confuso):

<%= render 'form' if user_signed_in? %> 
+1

Gracias por describir la diferencia entre '<% =' y '<%' – lislis