El Mon, 23 de Feb de 2009, a las 07:58:37PM -0200, Diego Algorta dijo: > Hola gente,
Hola > > Estoy intentando mejorar el c?digo de un (viejo) proyecto Rails heredado... > > Suponiendo que tenemos algo como: > > https://gist.github.com/f4921b74f10d45f04c38 > > Dado un view para el action PostsController#show donde > se muestran los datos del post, su lista de comentarios y un > formulario para que el usuario escriba un nuevo comentario, > buscar la mejor manera de que si el usuario escribe mal el > captcha se le pueda informar de esto sin que el mismo pierda el > contenido del comentario que elabor?. De esta forma el usuario > tendr? una segunda oportunidad para ingresar el comentario sin > tener que reescribirlo. > > La "dificultad" est? en que no se puede hacer un redirect porque se > perder?a el contenido del comentario que escribi?. Habr?a que hacer un > render pero del action `show` de otro controller (el de Posts) para que > se carguen todas las variables necesarias, etc. > > Alternativas (espero que se entienda): > > 1. guardar el contenido del comentario en la sesi?n y redireccionar. No > me gusta. Chancho y adem?s al usar la CookieStore, tengo poco espacio > que no quiero desperdiciar. > > 2. guardar el contenido del comentario en la base con un flag de "draft" > o algo as?, y redireccionar. El tema es que si realmente tengo un bot > intentando meter comentarios y fallando en el captcha... voy a tener > cientos (miles) de inserts en la base que no quiero. Feo. > > 3. mover el 99% del c?digo de `PostsController#show` a algo como > `ApplicationController#load_post_show_data` para llamarlo desde el > `check_captcha` y directamente hacer un render del template > `posts_controller/show` en vez del redirect. No me convence. > > Tonces? alternativas? > > S?... ya s?... los estoy haciendo pensar too much. :) Yo Realmente evaluar?a usar nested_forms (con rails 2.3) que versi?n de Rails est?s usando? Saludos > > Diego > _______________________________________________ > Ruby mailing list > [email protected] > http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar -- "Programs must be written for people to read, and only incidentally for machines to execute." (Abelson & Sussman, SICP, preface to the first edition) +-------------------------------------+ Gast\xF3n Ramos http://gastonramos.com.ar/ GNU/Linux Counter user #450312
_______________________________________________ Ruby mailing list [email protected] http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
