Rails外键列名称约定为一元多关系

时间:2012-03-04 15:09:32

标签: ruby-on-rails ruby database activerecord

我知道如果有“users”表和“posts”表,根据rails约定,posts表有一个名为'user_id'的外键列。当我有一个“用户”表并且我想要的关系是一元多数时,我的问题就出现了(许多买家可以通知许多卖家,买家和卖家都是“用户”)。现在“通知”是连接表,它必须包含外键“user_id”和“user_id”,用于根据命名外键的rails约定存储买方和卖方ID,但显然这不能做到。有人能告诉我如何在一元多关系中命名F.K列,以及这种关系的rails访问器方法是什么?

1 个答案:

答案 0 :(得分:1)

class Notification
     belongs_to :seller, class_name: "User"
     belongs_to :buyer, class_name: "User"
end

通知表中的外键应为seller_idbuyer_id。 foreign_keys的名称由关联名称(卖方和买方)推断。