2017-08-03 53 views
0

我想存储用户的社交个人资料链接:脸谱,YouTube,Instagram等等。是否有已经设置此模型的宝石,还是应该创建自己的?Rails社交链接模型

如果我必须自己创建,我会创建一个多态模型/迁移并重新使用用户,企业,事件等之间的可共享链接。由于这些链接通常很小,因此每一列都是字符串数据类型。

回答

1

取决于您要存储多少信息,例如,可以将这些列直接添加到用户模型(如“facebook_url”,“twitter_url”)中。但如果它更复杂一些,你可以创建另一个模型并进行关系。

类似:

rails g model SocialNetwork name:string 

那么对于用户和社交网络之间的N×N的关系的表:

rails g model UserSocialNetwork user:references social_network:references profile_url:string 

的任何信息你可能需要。然后,在你的User.rb

has_many :user_social_networks 
has_many :social_networks, through: :user_social_networks 

,并在您SocialNetwork.rb

has_many :user_social_networks 
has_many :users, through: :user_social_networks 

希望这会有所帮助,祝你好运!

+0

我想我会坚持多态关系,但我很欣赏看到你对此事的看法。很高兴知道没有这样做的网络传播标准化方式(通过宝石)。 –