我有两种模式:
Ticket
和User
票证属于用户,用户具有多张票证。
这里的问题是我想将这两个模型与:
联系起来故障单有ref_token
列,用户有token
列。所以,基本上当试图找到给定令牌的用户(令牌123)时,我希望得到以下查询:
SELECT * FROM tickets WHERE token = 'token123'
如何设置关联来完成此操作(基本上我想指定设置关联的列。在这种情况下,它们与主键不同。)
我现在有这个:
User
has_many :tickets, foreign_key: 'ref_token', primary_key: 'token'
Ticket
belongs_to :user, foreign_key: 'ref_token', primary_key: 'token'
我可以user.tickets
,但我不能ticket.user
。它不断返回nil
。
答案 0 :(得分:2)
我想它应该是:
has_many :tickets, foreign_key: "ref_token"
belongs_to :user, foreign_key: "token"