0
我在我的Rails應用程序下面的模型:Rails的形成創建的自我指涉模型子記錄
class Todo < ActiveRecord::Base
has_many :sub_todos, class_name: 'Todo', foreign_key: 'parent_todo_id'
belongs_to :parent_todo, class_name: 'Todo'
end
我研究的方式做一個WBS(工作分解結構)的應用程序,到目前爲止,有索引視圖:
<h1>Todos</h1>
<%= form_for @todo do |f| %>
<%= f.label :content, 'Todo', class: 'control-label' %>
<%= f.text_field :content, class: 'form-control', size: 50 %>
<%= f.submit 'Save' %>
<% end %>
<% @todos.where(parent_todo_id: nil).each do |todo| %>
<p><%= todo.content %></p>
<ul>
<% todo.sub_todos.each do |sub_todo| %>
<li>
<%= sub_todo.content %>
<!--form goes here-->
</li>
<ul>
<% sub_todo.sub_todos.each do |sub_todo| %>
<li><%= sub_todo.content %></li>
<% end %>
</ul>
<% end %>
</ul>
<% end %>
我需要將項目拆分爲更小的項目。要做到這一點,我想在每個表單下方放置一個表單,以便創建一個新的「sub_todo」。
我的問題是:我如何製作一個自我指涉模型?我以前使用過嵌套資源的表單,但似乎無法弄清楚自我參照模型的情況。
另外,這是循環這種類型的記錄適當的ruby/rails的方式?
你能更具體嗎?我不確定我是否遵守。如果我想在同一個表單上創建待辦事項和子對象,看起來這將是一個解決方案,但事實並非如此。我想要一個表單來創建待辦事項,如果有parent_todo_id屬性的話。 –
對不起,我誤解了。所以,就像上面那樣做一個表單,然後把一個hidden_field_for:parent_todo_id,sub_todo_id – dinomix
這樣做。謝謝 :) –