我正在使用acts_as_tree 在我的rails 应用程序中创建文件夹(模型)的树结构。但是在添加acts_as_tree 并且当我尝试创建根文件夹时,出现错误,即 parent 必须存在,表明 parent_id 不能为 nil 。
文件夹.rb:
class Folder < ApplicationRecord
belongs_to :user
has_many :assets, :dependent => :destroy
acts_as_tree
end
文件夹:
class CreateFolders < ActiveRecord::Migration[5.0]
def change
create_table :folders do |t|
t.string :name
t.integer :parent_id
t.integer :user_id
t.timestamps
end
add_index :folders, :parent_id
add_index :folders, :user_id
end
end
_form.html.erb :
<%= form_for(folder) do |f| %>
<% if folder.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(folder.errors.count, "error") %> prohibited this
folder from being saved:</h2>
<ul>
<% folder.errors.full_messages.each do |message| %>
<li><%= message %></li>
<% end %>
</ul>
</div>
<% end %>
<div class="field">
<%= f.label :name %>
<%= f.text_field :name %>
</div>
<div class="field">
<%= f.hidden_field :parent_id,:include_blank=>true %>
</div>
<div class="actions">
<%= f.submit %>
</div>
<% end %>