missing required keys [:id]
suggests to me that either the form cannot access post's id or its parent's id, if it's nested.
Try to define the url explicitly and with helpers.
form_for(post, :url => post_path(post))
Or if it's nested:
form_for(post, :url => topic_post_path(post.topic, post))