2010-07-11 12 views
12

Aquí es cómo pasar los valores/variable al parcial:pasar valores a parcial en los carriles 3

<%= render "partials/banner", :locals => {:text_1 => t(:"main.home.banner_text_1"), 
              :text_2 => t(:"main.home.banner_text_2") } %> 

continuación, en el parcial:

<%= text_1 %> <%= text_2 %> 

pero conseguir "variable local sin definir o método text_1 "

¿Dónde debo configurar la variable para que sea accesible desde todas las vistas y diseños en mi aplicación?

Gracias!

+0

estaría tentado a sólo hay que poner <% = t ("main.home.banner_text_1")%> justo en el parcial - puede usted salirse con la tuya? ¿O son realmente variables? – sarnold

Respuesta

28

Si usted tiene algo que tiene que ser visualizada a través de todos sus puntos de vista también se puede crear un método application_helper, Ejemplo: banner('Text', 'Content')

Prueba esto:

página principal:

<%= render :partial => 'layouts/test', 
      :locals => {:text_1 => t(:'text_1'), :text_2 => t(:'text_2')} 
%> 

parcial :

<%= text_1 %> <%= text_2 %> 
+4

gracias agregando ": partial =>" finalmente resolvió el problema. ¿Te preguntas por qué no funciona sin? De todos modos sí, necesito que esto se muestre en todas mis vistas. ¿Puede proporcionar más detalles sobre cómo debería ser el método de ayuda de banner ('text', 'content')? aplausos – bogumbiker

12

Creo que Ra ILS 3 ha cambiado la forma de pasar las variables parciales, a algo como esto:

<%= render :partial => 'layouts/test', 
     :text_1 => t(:'text_1'), :text_2 => t(:'text_2') %> 

Rails analizar eso y desde: text_1 no es una clave conocida (como: recolección o: P), que lo pasa al parcial sí mismo.

Puede acceder a ella a través de text_1 o text_2

Cuestiones relacionadas