Pregunta sobre yield, y layouts


#1

Hola a todos, una pregunta.
Para distribuir el contenido de un sitio por lo general se usa Divs, ya
saven

<%= yield %>
Contenido de la derecha.

En base al ejemplo anterior, mi pregunta es: Es posible cargar contenido
dinamico en el div de la derecha de igual manera que se lo hace con
<%=
yield %> en el div de la izquierda.

Como le aria para que en una u otra vista carge otro contenido.

Gracias de antemano.


#2

On 3/1/07, Joselo removed_email_address@domain.invalid wrote:

Contenido de la derecha.

En base al ejemplo anterior, mi pregunta es: Es posible cargar contenido
dinamico en el div de la derecha de igual manera que se lo hace con <%=
yield %> en el div de la izquierda.

Como le aria para que en una u otra vista carge otro contenido.

Estás buscando el bello content_for! :slight_smile:

En tu vista:
<% content_for :sidebar do %>
Texto personalizado en la sidebar.
<% end %>

Luego en tu layout:

<%= yield :sidebar %>

Podés tener todos los content_for que quieras (es decir, todos los
keys que quieras). Además, si la llamás dos veces con el mismo key,
automáticamente te concatena con lo que ya tenías! :slight_smile:

http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#M000638

Saludos!


#3

Exelente, Gracias


#4

Podrias poner un ejemplo?? es que lo he probado y no me sale nada. No se

si es que no lo estaré haciendo bien.+

Gracias.

Fran.

Vaya, sí que funciona, pero las vistas deben ser del mismo controlador.

Existe alguna forma de que en el div de la derecha se muestre la vista
de otro controlador que no sea el que muestra ‘yield’?

<%= yield %>
Contenido de la derecha.

Mi idea es que en la columna de la derecha me aparezca el gestor de
login (login_controller y las vistas respectivas), pero que en el div de
la izquierda se pueda navegar normalmente con los otros controladores.

No se si me se explicar, soy como un libro cerrao con candao.

Si existe algo, espero q me podais ayudar.

Saludos y gracias de antemano.


#5

Damian J. wrote:

On 3/1/07, Joselo removed_email_address@domain.invalid wrote:

Contenido de la derecha.

En base al ejemplo anterior, mi pregunta es: Es posible cargar contenido
dinamico en el div de la derecha de igual manera que se lo hace con <%=
yield %> en el div de la izquierda.

Como le aria para que en una u otra vista carge otro contenido.

Est�s buscando el bello content_for! :slight_smile:

En tu vista:
<% content_for :sidebar do %>
Texto personalizado en la sidebar.
<% end %>

Luego en tu layout:

<%= yield :sidebar %>

Pod�s tener todos los content_for que quieras (es decir, todos los
keys que quieras). Adem�s, si la llam�s dos veces con el mismo key,
autom�ticamente te concatena con lo que ya ten�as! :slight_smile:

http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#M000638

Saludos!

Podrias poner un ejemplo?? es que lo he probado y no me sale nada. No se
si es que no lo estaré haciendo bien.+

Gracias.

Fran.