【发布时间】:2017-08-27 06:09:19
【问题描述】:
我正在使用Ancestry Gem 为我的页面模型构建一棵树。页面保存,但字段数据不保存到数据库。我没有看到任何错误,而且由于我是 Rails 新手,我不知道如何调试。下面是我的代码。谢谢。
页面模型
class Page < ApplicationRecord
attr_accessor :parent_id, :content, :title
has_ancestry
end
页面控制器 - def create
def create
@page = Page.new(page_params)
respond_to do |format|
if @page.save
format.html { redirect_to @page, notice: 'Page was successfully created.' }
format.json { render :show, status: :created, location: @page }
else
format.html { render :new }
format.json { render json: @page.errors, status: :unprocessable_entity }
end
end
end
_form.html.erb
...
<div class="field">
<%= f.label :parent_id %>
<%= f.collection_select :parent_id, Page.order(:title), :id, :title, include_blank: true %>
</div>
...
【问题讨论】:
-
attr_accessor不会将您的属性映射到数据库,这就是数据不会持久化的方式。您可以使用迁移将列添加到数据库中。 guides.rubyonrails.org/… -
我将祖先添加到我搭建并迁移的模型中。你指的是别的东西吗?
标签: ruby-on-rails ruby-on-rails-5 ancestry