在不同模型之间的关联中,可以避免直接通过使用夹具名称来设置外键 ID,如本答案所示。自引用关联怎么样,例如在使用acts_as_tree时?试试这个:
# categories.yml
forsale:
name: For Sale
parent_id: nil
books:
name: Books
parent: forsale
我收到此错误:
SQLite3::SQLException: table categories has no column named parent: INSERT INTO "categories" ("name", "parent") VALUES ('Books', 'forsale')
有没有办法在不使用显式 ID 的情况下让一个固定装置引用同一类中的另一个固定装置?
更新:
在括号之间附加类名,例如多态 belongs_to固定装置也不起作用。这样做:
books:
name: Books
parent: forsale (Category)
生成一个随机parent_id
的 forbooks
而不是forsale
的 ID。