form_for com recursos aninhados

Eu tenho uma pergunta em duas partes sobre form_for e recursos aninhados. Digamos que eu esteja escrevendo um mecanismo de blog e quero relacionar um comentário a um artigo. Eu defini um recurso aninhado da seguinte forma:

map.resources :articles do |articles|
    articles.resources :comments
end

O formulário de comentários está na exibição show.html.erb para artigos, abaixo do próprio artigo, por exemplo, assim:

<%= render :partial => "articles/article" %>
<% form_for([ :article, @comment]) do |f| %>
    <%= f.text_area :text %>
    <%= submit_tag "Submit" %>
<%  end %>

Isso dá um erro, "Chamado id para nil, que erroneamente etc." Eu também tentei

<% form_for @article, @comment do |f| %>

Que processa corretamente mas relaciona f.text_area ao campo 'text' do artigo em vez do comentário, e apresenta o html para o atributo article.text nessa área de texto. Então eu pareço ter errado também. O que eu quero é um formulário cujo 'submit' irá chamar a action create no CommentsController, com um article_id nos params, por exemplo um post request para / articles / 1 / comments.

A segunda parte da minha pergunta é: qual é a melhor maneira de começar a criar a instância do comentário? Estou criando um @comment na ação show do ArticlesController, portanto, um objeto de comentário estará no escopo do form_for helper. Então, na ação create do CommentsController, eu crio new @comment usando os parâmetros passados ​​do form_for.

Obrigado!

questionAnswers(3)

yourAnswerToTheQuestion