Forum: Rails-ES problema con render :partial (NOOB!)

290d06689810c13c3499f5e261dc4a92?d=identicon&s=25 Andrew Magnali (andrewmg)
on 2010-06-04 16:45
hola a todos, estoy tratando de emular el video de ryan bates en el que
realiza un blog, no obstante se me ocurrio que en vez de copiar y pegar
la forma para nuevo comentario, deberia colocarlo en un partial y de ahi
renderizarlo, el problema es que siempre tengo error, he leido los
libros y estoy seguro que lo estoy escribiendo bien, si alguien me hecha
una ayuda para conseguir el error se lo agradceria.

-------------------------------------------------------------------------------
<h3>Comentarios</h3>
<%=render :partial => 'articulos/index', :collection =>
@articulo.comentarios%>

<h3>Escribe tu comentario</h3>
<%=render :partial => 'articulos/comentario', :locals => {:comentario =>
Comentario.new(:articulo_id => @articulo.id)}%> #era valido tmbien
colocar solo @articulo


y en la vista _comentario que es la que esta mal
tengo----------------------

<h1>nuevo comentario</h1>

<% form_for (comentario) do |f| %>


  <p>
    <%= f.label :articulo_id %><br />
    <%= f.hidden_field :articulo_id %>
  </p>
  <p>
    <%= f.label :comentario %><br />
    <%= f.text_area :comentario %>
  </p>
  <p>
    <%= f.submit 'Create' %>
  </p>
<% end %>


-------------------------------------------------------------------------
el error que me aparece es el siguiente


NoMethodError in Articulos#show

Showing app/views/articulos/_comentario.html.erb where line #3 raised:

undefined method `comentarios_path' for #<ActionView::Base:0x4940800>
Extracted source (around line #3):

1: <h1>nuevo comentario</h1>
2:
3: <% form_for comentario do |f| %>
4:
5:
6:   <p>
Trace of template inclusion: app/views/articulos/show.html.erb

RAILS_ROOT: C:/borr/blog5

Application Trace | Framework Trace | Full Trace
C:/ruby18/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/polymorphic_routes.rb:107:in
`__send__'
C:/ruby18/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/polymorphic_routes.rb:107:in
`polymorphic_url'
C:/ruby18/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_controller/polymorphic_routes.rb:114:in
`polymorphic_path'
C:/ruby18/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/helpers/form_helper.rb:298:in
`apply_form_for_options!'
C:/ruby18/lib/ruby/gems/1.8/gems/actionpack-2.3.5/lib/action_view/helpers/form_helper.rb:277:in
`form_for'
C:/borr/blog5/app/views/articulos/_comentario.html.erb:3:in
`_run_erb_app47views47articulos47_comentario46html46erb_locals_comentario_object'
C:/borr/blog5/app/views/articulos/show.html.erb:16:in
`_run_erb_app47views47articulos47show46html46erb'
C:/borr/blog5/app/controllers/articulos_controller.rb:18:in `show'
Request

Parameters:

{"id"=>"1"}
Show session dump

Response

Headers:

{"Content-Type"=>"text/html",
 "Cache-Control"=>"no-cache"}


----------------------------------------------------------------------------
al parcial lo nombre con el _ al comienzo y estoy seguro que esa parte
esta bien , el error esta a la hora de pasar la variable, lo he probado
de mil maneras ":comentario", @comentario, comentario y nunca
funciona...

abajo en el partial ademas he probado y la unica vez que ha corrido sin
error es nombrandolo :comentario...obviamente esta malo y no guarda nada
porque no es una variable, pero al menos corre, ya no se donde puede
estar el problema, les agradezco si me ayudan
This topic is locked and can not be replied to.