假設我們正在製作博客。通常情況下,模型是這樣的:在Rails中,如何通過多列將模型引用到另一個模型?
class User
has_many :posts
end
class Post
belongs_to :user
end
而且他們的模式是這樣的:
User
id
Post
id
user_id
但現在,用戶可以通過Facebook/Twitter的/等登錄,我們希望有一個職位屬於不到用戶對象,而是提供者的提供者和id的組合。
新的模式將類似於:
User
id
provider
uid
Post
id
user_provider
user_uid
而且我不知道該車型會是什麼樣子:
class User
has_many :posts, :foreign_key => ['user_provider', 'user_uid'] # Is this right??
end
class Post
belongs_to :user, :class_name => User # Again, this is a guess...
end
我在正確的軌道上? Rails的做法是什麼?