我需要你的帮助来建立亲子关系。
我有一个问题,让孩子的创造工作正常。
这是模型:
class Nccheklist < ActiveRecord::Base
has_many :children, class_name: "Nccheklist", foreign_key: "parent_id"
belongs_to :parent, class_name: "Nccheklist"
def has_parent?
parent.present?
end
def has_children?
children.exists?
end
end
控制器:
def create
@nccheklist = Nccheklist.new(nccheklist_params)
if @nccheklist.save
redirect_to nccheklists_url, notice: 'Nccheklist was successfully created.'
else
render :new
end
end
和视图:
<%= form_for(@nccheklist) do |f| %>
<% if @nccheklist.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@nccheklist.errors.count, "error") %> prohibited this nccheklist from being saved:</h2>
<ul>
<% @nccheklist.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %><br>
<%= f.text_field :name %>
</div>
<div>
<%= f.collection_select(:parent_id, @rootcat, :id, :name) %>
</div>
<br/><br/>
<div class="actions">
<%= f.submit %>
</div>
<% end %>
当我提交表单时,parent_id在数据库上总是等于null!
请有人帮助我。
感谢。
答案 0 :(得分:0)
将以下内容添加到类定义
中accepts_nested_attributes_for :children, allow_destroy: true