我有三个模型:为了提出问题,我会称它们为posts,containertable1和containertable2。
基本上,posts表有一个名为misc_id的列,其列表中包含containertable1或containertable2的项。我试图建立一个外键关联,但它似乎没有从我指定的列中获取。
所以这是我的post.rb模型的样子:
class Post<的ActiveRecord :: Base的
belongs_to:containertable1,:polymorphic =>是的,:foreign_key => “misc_id”
belongs_to:containertable2,:polymorphic =>是的,:foreign_key => “misc_id”
set_table_name“transactions”
然后我的containertable1.rb模型:
class Containertable1<的ActiveRecord :: Base的
has_many:交易
但是在脚本/控制台中,当我运行Containertable1.find(:first).posts时,它会给我这个错误:
未知栏'posts.containertable1_id'
我希望它会尝试寻找“misc_id”专栏。有人可以提供我对错误的看法吗?非常感谢:)
答案 0 :(得分:0)
我一直在玩这个,想想我想出来了。
外键实际上需要在containertable.rb模型中。所以这就是我改变了:
类Containertable1<的ActiveRecord :: Base的 has_many:posts,:foreign_key => “misc_id”