:foreign_key没有从右栏请求?

时间:2010-01-15 01:24:47

标签: ruby-on-rails associations models

我有三个模型:为了提出问题,我会称它们为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”专栏。有人可以提供我对错误的看法吗?非常感谢:)

1 个答案:

答案 0 :(得分:0)

我一直在玩这个,想想我想出来了。

外键实际上需要在containertable.rb模型中。所以这就是我改变了:

类Containertable1<的ActiveRecord :: Base的   has_many:posts,:foreign_key => “misc_id”