Validation errors from associated models

Hey guys,

I have a weird problem and I think you are able to solve it easy.

I have two models - “Posts” and “Comments”. A post :has_many comments
and a comment :belongs_to a post. I followed the guide on

so I added the following code to my Post-view:

= form_for([@post, @post.comments.build]) do |f|
  = f.label :author
  = f.text_field :author
  = f.label :content
  = f.text_area :content
  = f.submit

I added some validation to my Comments-model, so it looks like:

class Comment < ActiveRecord::Base
  belongs_to :post
  validates_presence_of :author
end

My comments-controller looks like:

class CommentsController < ApplicationController
  def create
    @post = Post.find(params[:post_id])
    @comment = @post.comments.create(params[:comment])
    redirect_to @post
  end
end

Creating new comments works fine, and if I leave “author” empty the
comment will not be saved. That’s good. But now I wanna show the
validation-errors. Normally I would do that with adding something like

- if @comment.errors.any?
  - @comment.errors.full_messages.each do |error|
    = error

to the formular in the post-view, but of course @comment is undefine
in that view.

How can I show the errors there?

Regards,
Dennis