因此,我将祖先宝石添加到了我的Rails应用程序中。我使用的是飞机模型,这与我的类别模型有关。运行种子以在我的应用中创建类别和子类别时,所有方法都工作正常。
然后,我决定删除我的飞机型号名称并添加一个列表型号。我按照以下步骤删除了飞机模型。
恢复为迁移。 rails db:migrate:down VERSION = 20180830175747
删除文件,然后运行导轨销毁模型飞机
,然后出现以下错误的一些问题。因此,我恢复了第一次迁移,删除了类别模型,列表模型等。删除了祖先的宝石。
然后重新开始。一切看起来不错,直到我尝试运行种子文件,然后出现以下错误。
rake aborted!
NoMethodError: undefined method `child_ancestry' for "aircraft":String
/Users/bradley/Development/current/global_abx/db/seeds.rb:10:in `<main>'
有人知道为什么孩子祖先仍然提到与飞机有关的任何东西吗?
感谢一百万。
种子文件:
aircraft = Category.create(name: 'Aircraft')
aircraft_jets = Category.create(name: 'Jets', parent: 'aircraft')
aircraft_helicopter = Category.create(name: 'Helicopter', parent: 'aircraft')
aircraft_light = Category.create(name: 'Light', parent: 'aircraft')
aircraft_twin_piston = Category.create(name: 'Twin Piston', parent: 'aircraft')
Category.rb
class Category < ApplicationRecord
has_ancestry
end