Suplente de render_component en rails2.0

Hola lista como estan!, bueno yo aqui nuevamente haciendo preguntas.

solo ayer me cambié de version de rails de 1.2.6 a 2.0, y pues nada, he
estado al borde del colapso estas ultimas horas jeje, no es broma…

Ahora que tengo todo un poco mas claro y me he documentado un poco,
entiendo
mas o menos los nuevos cambios y de a poco empiezo adisfrutar del
upgrade.

sin embargo tengo una duda acerca de la deprecacion de los componentes,
pues
generalemtne yo utilizaba render_component para mis menus de los sitios,
donde los botones eran los nombres de registro de mi tabla pages. Dado
esto
supongo que tendré que utilizar parciales para renderiar mi menus, pero
la
gracia de render component era que me renderiaba el pedazo de codigo sin
necesidad de setear las variables de instancia o las consultas para cada
accion, me explico.

con render compoent hacia lo siguiente

controller pages

def botones
@pages = Page.find(:all,:conditions=>{:publish=>‘1’},:order=>‘position
asc’)
render :action=>‘botones’,:layout=>false
end

y en la vista botones:
<%for pages in @pages %>

  • <%=#link_to(pages.name,pages_url(pages.slug))
    link_to (pages.name,:controller=>pages.slug)
    %>
  • <%end%>

    luego al renderear en mi layout ponia lo siguiente:

    <%= render_component(:controller=>‘pages’,:action=>‘botones’)%>

    , pero cmo en Rails 2.0 sacaron los componentes , no puedo hacer esto,
    por
    el contrario tendria que convertir la vista botones en un parcial , y
    con
    esto declarar esta consulta :
    @pages = Page.find(:all,:conditions=>{:publish=>‘1’},:order=>‘position
    asc’), para cada accion, lo que no me gusta para nada.

    Hay alguna forma de suplir la funcion de render_component con los
    parciales,
    o alguna forma mas elegante de hacer eso???

    Saludos Cordiales

    Hola,

    sin embargo tengo una duda acerca de la deprecacion de los
    componentes, pues generalemtne yo utilizaba render_component para mis
    menus de los sitios
    Un buen replacement en general para el uso de componentes es utilizar
    partials combinados con filtros o con métodos privados del controller
    que reusas en varias acciones.

    Si por lo que sea no puedes refactorizar para conseguir eso, puedes usar
    este plugin de Sebastian D.
    http://dev.notso.net/svn/rails/plugins/embedded_actions/trunk/

    Con el plugin puedes usar ‘embed_action’ en lugar de ‘render_component’.

    Saludos,

    javier ramírez

    Y embed_action ofrece muchas mas ventajas (y menos bugs)

    Sent via BlackBerry from T-Mobile

    Muchas gracias por sus respuestas.

    que opinan de utilizar un render :partial declarando la consulta con un
    before filter en controllers/application.rb
    lo probé y funciona, , mi pregunta es si esto es recomendable, o es
    mejor
    utiliar el embed_action?

    Saludos

    Una duda …

    Yo para eso siempre he utilizado los helpers, muchas veces
    “empotrando” el html allí para no tener que pintar un partial.

    Así tengo un helper en application helper que seria …

     def botones
       @pages =
    

    Page.find(:all,:conditions=>{:publish=>‘1’},:order=>‘position asc’)
    @block += “


      @pages.each do |page|
      @block += “
    • {# link_to page.name, pages_url(page.slug)}</
      li>”
      end
      @block += "
    "
    end

    I lo incluyes donde haga fala con …

     <%= botones %>
    

    And that’s all … yo lo encuentro más comodo.

    Un saludo,

    Francesc

    On Dec 12, 2007, at 3:58 AM, Miguel M. wrote:

    Y embed_action ofrece muchas mas ventajas (y menos bugs)

    Si por lo que sea no puedes refactorizar para conseguir eso, puedes


    Atte.
    Miguel Michelson Martinez

    www.artenlinea.cl _______________________________________________
    Ror-es mailing list
    [email protected]
    http://lists.simplelogica.net/mailman/listinfo/ror-es


    name. Francesc E. i Martí
    voice. +34 678.681.603

    This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

    | Privacy Policy | Terms of Service | Remote Ruby Jobs