Использование form_for с Awesome Nested Set - PullRequest
0 голосов
/ 16 октября 2011

У меня есть модель Comment с включенным act_as_nested_set, но когда я пытаюсь сделать что-то подобное (для вложенных комментариев), я получаю ошибку «comment_comments_path not found», предположительно, потому что путь по умолчанию не работает с Awesome Nested Задавать. Как мне обойти это?

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

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

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

Я тоже пробовал это:

            <%= 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 think?'%>

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

но я не смог создать текстовое поле для ввода.

1 Ответ

0 голосов
/ 19 октября 2011

Вы очень близки, да, вы должны сначала построить его, а затем иметь поля для, так что:

<% @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  %>

Это будет иметь форму для всех существующих детей + нового.Если вам нужна только форма для нового ребенка, вам нужно вместо этого:

<%= 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  %>
...