Mariano, en general yo la siguiente idea: Skinny Controllers, Fat Models (
http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model).

Siguiendo la misma idea, cuando tengo que editar muchos modelos en un solo
form suelo seguir una receta que existe en el libro Advanced Rails Recipes,
aunque también está en la web (http://railsforum.com/viewtopic.php?id=717 y
http://railsforum.com/viewtopic.php?id=719). Hay un plugin que hace esto
también (http://code.google.com/p/multimodel-forms/).

El objetivo sigue siendo tener controller super defaults con modelos más
especializados.
Mirá esto: http://railscasts.com/episodes/75, que ahí lo explican de lo que
yo lo puedo hacer.

Si lográs bajar la lógica al modelo, te recomiendo usar ResourceController,
o Make Resourcefull (de los pibes que hicieron HAML).

Saludos, y espero que algo de esto te sea útil.

Lucas


On Wed, Jul 30, 2008 at 15:52, mayesa <[EMAIL PROTECTED]> wrote:

> Que tal gente?
>
> Me encuentro ante la siguiente situacion. Tengo 3 modelos: Show(recital),
> User, y Song. Hay otro modelo de asociacion SongVote que tiene la referencia
> a los tres, y además guarda otros datos sobre la relacion.
>
> El usuario selecciona desde una pagina un show, y las canciones que quiere
> votar para el mismo a traves de unos checkbox.
>
> En el controller de los shows, tengo un action que recibe el post, de esta
> forma (que es un asco)
>
> def vote_songs
>    show_id = params[:id]
>    song_ids = params[:song_votes][:song_ids]
>    respond_to do |format|
>      for song_id in song_ids
>        @song_vote = SongVote.new
>        @song_vote.show_id = show_id
>        @song_vote.song_id = song_id
>        @song_vote.user_id = current_user.id
>        if [EMAIL PROTECTED] then
>          @show = Show.find(params[:id])
>          @songs = Song.find(:all)
>          format.html { render :action => "new_song_vote" }
>        end
>      end
>      format.html { redirect_to songs_votes_show_path(show_id) }
>    end
>  end
>
> Apelo a vuestra experiencia/consejos para conocer soluciones probadas o
> mejor aun sobre links para leer :)
>
> Tengo varios temas con esto. Ya que rstoy seguro que mi controller es
> demasiado verbose y que estoy debe estar resuelto de forma fácil.
>
> Supongo que se entiende la intencion de lo que quiero hacer (que si falla
> alguna validacion en SongVote, se vuelva a la pagina de votacion y en caso
> de no haber errores, redireccionar a la vista de votos totales de canciones
> para los shows)
>
> Saludos,
>
>
>
>
>  
> ____________________________________________________________________________________
> ¡Buscá desde tu celular!
>
> Yahoo! oneSEARCH ahora está en Claro
>
> http://ar.mobile.yahoo.com/onesearch
> _______________________________________________
> Ruby mailing list
> [email protected]
> http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar
>



-- 
Lucas Florio
Developer
----
Nora Ephron
"Insane people are always sure that they are fine. It is only the sane
people who are willing to admit that they are crazy."
_______________________________________________
Ruby mailing list
[email protected]
http://lista.rubyargentina.com.ar/listinfo.cgi/ruby-rubyargentina.com.ar

Responder a