Tengo una pregunta de rails realmente simple aquí, pero parece que no puedo encontrar la respuesta en ningún lado. Supongo que algunos de los problemas provienen de mí siguiendo un tutorial para Rails 1.2 con Rails 2.1. De todos modos ...Rails ignorando render y redirect_to
Estoy escribiendo un sistema de blog y estoy implementando el bit de comentarios. Tengo los comentarios que se muestran bien una vez que los he creado utilizando script/consola, pero obtener el formulario de comentarios en sí mismo trabajando es la parte más difícil.
En posts_controller.rb tengo
def comment
Post.find(params[:id]).comments.create(params[:comment])
flash[:notice] = "Added comment"
#render :action => show
redirect_to :action => show
end
y en show.html.erb (la vista) Tengo
<%= form_tag :action => "comment", :id => @post %>
<%= text_area "comment", "body" %><br>
<%= submit_tag "Post Comment" %>
Cuando envíe el formulario que trata de ir a la urb/posts/comment/1 que obviamente es incorrecto, y se queja de que no puede encontrar una plantilla. Obviamente no quiero una plantilla allí porque le dije que redirija a la acción de mostrar porque quiero que vuelva a mostrar la página de la presentación de la publicación, con el nuevo comentario allí.
He intentado tanto la línea comentada (render: acción => mostrar) como la línea redirect_to, y ninguno parece hacer nada en absoluto.
Estoy seguro de que me falta algo simple, pero ¿qué es?
El tutorial está en http://www.sapphiresteel.com/How-To-Create-A-Ruby-On-Rails-Blog,168. También he publicado otra pregunta sobre este tipo de problema http://stackoverflow.com/questions/224669/correct-rails-21-way-of-doing-things – robintw