[Ror-es] sobre los recursos anidados, REST, y los controladores
Daniel Rodriguez Troitiño
notzcoolx at yahoo.es
Sun Jan 4 03:21:43 GMT 2009
2009/1/4 Fernando Guillen <fguillen.mail at gmail.com>:
> Seguimos con las quejas del anidamiento..
>
> Si queremos borrar un Comment desde un link por ejemplo tengo que poner esto:
> paper_comment_path( @paper, @comment ), :method => :delete
>
> ¿Para que me sirve tener localizado el Paper ahí.. si luego en el
> controlador lo único que miro es el id del Comment?
>
> @comment = comment.find(params[:id])
> @comment.destroy
>
> Es una tontería pero mosquea un poco.. y el test me queda así:
> delete(
> :destroy,
> :paper_id => papers(:paper1).id,
> :id => comment(:comment1).id
> )
>
> En vez de así:
> delete(
> :destroy
> :id => comment(:comment1).id
> )
>
> Insisto en que creo que mi desconfianza por ahora no es con REST sino
> con los recursos anidados.
>
> ¿Algún comentario a esto?
>
> f.
>
Es que al igual que haces @paper.comments.build(params[:comment])
deberías hacer @paper.comments.find(params[:id]) antes de destruir un
objeto, así te aseguras de que no destruyes el comentario de algún
otro paper (imagina que cada paper es de un usuario y un usuario
malintencionado envia un comment id que no es de uno de sus paper).
More information about the Ror-es
mailing list