Ruby on rails 属性不保存并且始终显示为零

Ruby on rails 属性不保存并且始终显示为零,ruby-on-rails,rails-migrations,ancestry,Ruby On Rails,Rails Migrations,Ancestry,我有一个包含列的对象,parent_id是一个整数 我只是为了重新开始而进行迁移 class RemoveParentIdFromCategories < ActiveRecord::Migration def change remove_column :categories, :parent_id, :integer add_column :categories, :parent_id, :integer end end 和c显示: #<Category

我有一个包含列的对象,parent_id是一个整数

我只是为了重新开始而进行迁移

class RemoveParentIdFromCategories < ActiveRecord::Migration
  def change
    remove_column :categories, :parent_id, :integer
    add_column :categories, :parent_id, :integer
  end
end
和c显示:

#<Category id: 29, name: "Example", parent_id: nil, ancestry: "1/2/4/5", created_at: "2015-05-21 20:45:12", updated_at: "2015-05-21 23:30:50", is_main: nil, color: "ffffff", cached_name: "mets">
我想使用父id检查搜索的唯一性,但我不能,因为我很遗憾无法保存它

为什么我不能将任何内容保存到家长id


谢谢

您确定有id为5的类别记录吗?是的。我只是重新检查了一下。另外,祖先gem工作得很好,每次试图保存它时,我都会从该列中提取最后一个id?您可能需要先在控制台中执行ActiveRecord::Base.logger=logger.newstout才能看到它。为什么要在同一迁移中添加和删除同一列?如果您想重新开始,只需回滚。请尝试c.save!。查看它是否抛出任何验证错误。
#<Category id: 29, name: "Example", parent_id: nil, ancestry: "1/2/4/5", created_at: "2015-05-21 20:45:12", updated_at: "2015-05-21 23:30:50", is_main: nil, color: "ffffff", cached_name: "mets">
  has_ancestry
  has_many :topic, :foreign_key => 'category_id'
  validates_uniqueness_of :name, scope: :ancestry