我正在尝试使用自定义名称在活动记录对象之间创建关联
例如,我有一个User
表和Post
类,Post
类有writer_id
和reader_id
。我想为writer_id
和reader_id
创建关联,这样我就可以调用post.writer
来获取User
对象。我尝试了多种方法(其中之一:Rails belongs_to with custom column name),但并没有解决这个问题。有人知道如何解除阻止这个问题吗?
我正在尝试使用自定义名称在活动记录对象之间创建关联
例如,我有一个User
表和Post
类,Post
类有writer_id
和reader_id
。我想为writer_id
和reader_id
创建关联,这样我就可以调用post.writer
来获取User
对象。我尝试了多种方法(其中之一:Rails belongs_to with custom column name),但并没有解决这个问题。有人知道如何解除阻止这个问题吗?
2条答案
按热度按时间ltqd579y1#
试试这个
对不起,最初我用
class
代替了class_name
3pvhb19x2#
在本例中,应该使用
belongs_to
,因为外键应该存储在posts表中:这将创建一个一对多关联。请注意,
foreign_key
选项在has_many
关联中是必需的,因为它通常派生自类名。has_one
将不起作用,因为这意味着您将在users
表上存储post_id
。has_one
在关联的另一端总是有一个对应的belongs_to
。has_one
基本上就是has_many
加上一个附加到查询上的LIMIT 1
,并生成略微不同的方法。当谈到读者,我几乎可以保证你真正想要的是一个多对多的关联。