假设我们正在创建一个博客。通常,模型如下所示:
class User
has_many :posts
end
class Post
belongs_to :user
end
他们的模式看起来像:
User
id
Post
id
user_id
但是现在用户可以通过Facebook/Twitter/等方式登录,我们希望帖子不属于User对象,而是属于provider和provider的uid的组合。
新架构如下所示:
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 这样做的方法是什么?