2010-10-17 17 views
6

encontré esto "ejecutado sin sustitución en la salida", pero tal vez mi inglés no era demasiado bueno, realmente no puedo entender lo que significa. ¿Alguien puede ayudar?<% %> (sin igual) en ruby ​​erb significa?

+0

En el contexto rieles este tipo de cosas casi siempre significa 'control de flujo' - es el código que no devuelve ningún valor, sino que le dice a otro código si y cuando disparar –

Respuesta

10

<%%>

Se ejecutará el código Ruby sin efecto en la página HTML que se queden. La salida será desechada.

<% =%>

Se ejecutará el código Ruby e insertar la salida de ese código en lugar de la <% =%>

ejemplo ...

<% puts "almost" %> nothing to see here 

haría como

nothing to see here 

sin embargo,

<%= puts "almost" %> nothing to see here 

generaría lo

almost nothing to see here 
7

A veces tendrá que (o desea) ejecutar algunos enunciados de ruby ​​pero no con fines de salida.

como la siguiente:

<% if @user.nil? %> 
    Hi, welcome! 
<% else %> 
    Hi, <%= @user.name %>! 
<% end %> 

Por supuesto, esto es sólo un caso de uso, pero a veces sí es necesario <% %>: D

1

Código de se ejecuta <% %> (sin iguales) "sin sustitución hacia atrás en la salida "significa que quiere ejecutar código SIN salida, como un bucle y la mejor parte es que puede usarse con un código que no sea ruby.

<% 3.times do %> 

<h1>Hello world</h1> 

<%end%> 

This will give: 

<h1>Hello world</h1> 
<h1>Hello world</h1> 
<h1>Hello world</h1> 
+0

ohh, gracias. ¡Entonces con = debe haber una salida! – wizztjh