Trouble passing variable

<% @user.comments.each_with_index do |comment,index| %>
     ................
     ................

       <%= form_for [Comment, Subcomment.new],:remote => true do |form|
%>
          <div id="body">
            <%= form.text_field :body %>
          </div>
            <% form.hidden_field :comment_id ,index[1] %>
          <p>
               <%= form.submit %>
          </p>
      <% end %>
<% end %>

It insists that comment_id = Comment

Started POST "/comments/Comment/subcomments" for 127.0.0.1 at 2011-07-17
17:31:54 +0100
  Processing by SubcommentsController#create as JS
  Parameters: {"utf8"=>"✓",
"authenticity_token"=>"Ca9IHcB/No8OJ/9MLtXSeuas7n1Mp8GyxpIAMLJxMXo=",
"subcomment"=>{"body"=>"cat"}, "commit"=>"Create Subcomment",
"comment_id"=>"Comment"}

What is the correct way to do this?

<% @user.comments.each_with_index do |comment,index| %>
................
................

   &lt;%= form\_for \[Comment, Subcomment\.new\],:remote =&gt; true do |form|

%>

Here you should put the comment the subcomment is for, not Comment. If
you do that then you shouldn't need a hidden_field with the
comment_id.

Fred

Frederick Cheung wrote in post #1011256:

   &lt;%= form\_for \[Comment, Subcomment\.new\],:remote =&gt; true do |form|

%>

Here you should put the comment the subcomment is for, not Comment. If
you do that then you shouldn't need a hidden_field with the
comment_id.

Fred

If I do that I get this in the terminal.

Started POST "/comments/2/subcomments" for 127.0.0.1 at 2011-07-17
19:00:55 +0100
  Processing by SubcommentsController#create as JS
  Parameters: {"utf8"=>"✓",
"authenticity_token"=>"Ca9IHcB/No8OJ/9MLtXSeuas7n1Mp8GyxpIAMLJxMXo=",
"subcomment"=>{"body"=>"dog"}, "commit"=>"Create Subcomment",
"comment_id"=>"2"}
  User Load (0.6ms) SELECT "users".* FROM "users" WHERE "users"."id" =
4 LIMIT 1
  AREL (0.3ms) INSERT INTO "subcomments" ("body", "commenter",
"comment_id", "created_at", "updated_at") VALUES ('dog', 'natty', NULL,
'2011-07-17 18:00:56.130372', '2011-07-17 18:00:56.130372')
Rendered comments/_subcomment.html.erb (0.5ms)
Rendered subcomments/create.js.erb (4.1ms)
Completed 200 OK in 300ms (Views: 16.8ms | ActiveRecord: 0.9ms)

Why won't it pass the comment_id when saving?

Neil

Neil Bye wrote in post #1011261:

Frederick Cheung wrote in post #1011256:

   &lt;%= form\_for \[Comment, Subcomment\.new\],:remote =&gt; true do |form|

%>

Here you should put the comment the subcomment is for, not Comment. If
you do that then you shouldn't need a hidden_field with the
comment_id.

Fred

Strike last posting , there was an error in the controller. All OK now.
Still don't know why I got the error in my first post.

Neil Bye wrote in post #1011261:

> Frederick Cheung wrote in post #1011256:

>>> <%= form_for [Comment, Subcomment.new],:remote => true do |form|
>>> %>

>> Here you should put the comment the subcomment is for, not Comment. If
>> you do that then you shouldn't need a hidden_field with the
>> comment_id.

>> Fred

Strike last posting , there was an error in the controller. All OK now.
Still don't know why I got the error in my first post.

Because your routes are setup to pull comment_id from the URL.

Fred