开发者

Using form_for with Awesome Nested Set

I have a Comment model with the acts_as_nested_set enabled, but when I try to do something like this (for nested comments), i receive the error "comment_comments_path not found", presumably because the default pathing doesn't work with Awesome Nested Set. How do I get around this?

            <%= form_for([@comment, @comment.children.build]) do |f| %>

           <%= f.text_area :content, :placeholder=>'What do you think?'%>

           <%= f.submit 'Submit Reply'%>
            <%  end %>

I also tried this:

            <%= form_for(@comment) do |f| %>

            <% @comment.children.each do |sub|  %>
            <%= f.fields_for :children, sub do |child| %>

            <%= child.text_area :content, :placeholder=>'What do you t开发者_高级运维hink?'%>

           <%= f.submit 'Submit Reply'%>
            <% end  %>
            <% end  %>
            <%  end %>

but it didn't generate a textbox for me to type in.


You're very close, yeah you have to build it first then have fields for, so this:

<% @comment.children.build %>

<%= form_for([@comment]) do |f| %>
  <%= f.fields_for :children do |child| %>
    <%= child.text_area :content, :placeholder=>'What do you think?'%>
    <% end  %>
  <%= f.submit 'Submit Reply'%>
  <% end  %>
<% end  %>

This will have a form for all existing children + the new one. If you want only a form for a new child then you'll want this instead:

<%= form_for([@comment]) do |f| %>
  <%= f.fields_for @comment.children.build, :children do |child| %>
    <%= child.text_area :content, :placeholder=>'What do you think?'%>
    <% end  %>
  <%= f.submit 'Submit Reply'%>
  <% end  %>
<% end  %>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜