ruby on rails-ActiveRecord无键关联



我有两个表/模型(User,Population),它们之间的关系松散,共享一个公共列(电子邮件)。同一封电子邮件可能有多个用户记录,但只能有一个人口统计记录。

是否可以定义has_one和has_many关系,并强制其使用联接的电子邮件列而不是id?

谢谢,Scott

附言:如果重要的话,我使用的是ActiveRecord 3.x

您不能使用非唯一数据作为密钥,因为没有任何东西可以强制资源属于哪个电子邮件地址实例。不过,您可以将电子邮件用作外键,但它将返回具有该电子邮件地址的所有用户的人口统计信息。

要覆盖外键,请执行:

  belongs_to :user, :foreign_key => 'email'

参考:http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html

相关内容

  • 没有找到相关文章

最新更新