Forum: Rails-ES Pregunta sobre yield, y layouts

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Joselo (Guest)
on 2007-03-02 00:39
(Received via mailing list)
Hola a todos, una pregunta.
Para distribuir el contenido de un sitio por lo general se usa Divs, ya
saven

<div id="left">
  <%= yield %>
 </div>

 <div id="right">
   Contenido de la derecha.
</div>

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.
Damian J. (Guest)
on 2007-03-02 05:23
(Received via mailing list)
On 3/1/07, Joselo <removed_email_address@domain.invalid> wrote:
> <div id="right">
>    Contenido de la derecha.
> </div>
>
> 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! :)

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! :)

http://api.rubyonrails.org/classes/ActionView/Help...

Saludos!
Joselo (Guest)
on 2007-03-02 17:18
(Received via mailing list)
Exelente, Gracias
Guest (Guest)
on 2007-03-26 00:57
Damian J. wrote:
> On 3/1/07, Joselo <removed_email_address@domain.invalid> wrote:
>> <div id="right">
>>    Contenido de la derecha.
>> </div>
>>
>> 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! :)
>
> 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! :)
>
> http://api.rubyonrails.org/classes/ActionView/Help...
>
> 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.
Guest (Guest)
on 2007-03-26 01:29
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'?

<div id="left">
  <%= yield %>
 </div>

 <div id="right">
   Contenido de la derecha.
</div>

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.
This topic is locked and can not be replied to.