bitte um Rat..
Ein Blog Eintrag soll kommentiert werden.

<%= link_to 'Kommentieren', { :action => 'new_comment', :id => blog }
im controller:

def new_comment
   @comment = Comment.new
@blog = Blog.find(params[:id]) # Das steht hier damit ich den Eintrag nochmal aufführen möchte und auch wegen der Zuordnungs id
 end

 def create_comment
   @comment = Comment.new(params[:comment])
   if @comment.save
     flash[:notice] = 'Eintrag wurde gespeichert.'
     redirect_to :controller => 'index'
   else
     render :action => 'new_comment'
   end
 end

im partial:
<%= hidden_field 'comment', 'blog_id', :value => @blog.id %>

Das klappt auch. Der Eintrag wird korrekt abgespeichert.
Allerdings, wenn ich jetzt die Formularfelder leer lasse und validiere bekomme ich:

|You have a nil object when you didn't expect it! The error occurred while evaluating nil.titel|
..
<p><%= simple_format(h @blog.text) %></p>

Denke das liegt daran, dass new_comment wieder aufgerufen wird und die id für @blog dann nicht mehr zur Verfügung steht.
Wie am besten ändern ?

Oder gibt es eine andere Erklärung ?

Gruß Werner


--

Werner Laude
Lindenburger Allee 22  |  50931 Köln

0221.8805 635

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

http://www.webagentur-laude.de

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

_______________________________________________
rubyonrails-ug mailing list
[email protected]
http://mailman.headflash.com/mailman/listinfo/rubyonrails-ug

Antwort per Email an