Rails 社交链接模型
Rails Social Links Model
我想存储用户的社交资料链接:facebook、youtube、instagram 等。是否有 gem 已经设置了此模型,或者我应该创建自己的?
如果我必须创建自己的,我会创建一个多态的 model/migration 并在用户、企业、事件等之间重复使用可共享的链接。由于这些链接通常很小,每一列都是字符串数据类型。
根据您要存储的信息量,您可以将这些列直接添加到用户模型(例如 "facebook_url"、"twitter_url")。但如果它更复杂,您可以创建另一个模型并建立关系。
类似于:
rails g model SocialNetwork name:string
然后 table 用于用户和社交网络之间的 nxn 关系:
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
希望对您有所帮助,祝您好运!
我想存储用户的社交资料链接:facebook、youtube、instagram 等。是否有 gem 已经设置了此模型,或者我应该创建自己的?
如果我必须创建自己的,我会创建一个多态的 model/migration 并在用户、企业、事件等之间重复使用可共享的链接。由于这些链接通常很小,每一列都是字符串数据类型。
根据您要存储的信息量,您可以将这些列直接添加到用户模型(例如 "facebook_url"、"twitter_url")。但如果它更复杂,您可以创建另一个模型并建立关系。
类似于:
rails g model SocialNetwork name:string
然后 table 用于用户和社交网络之间的 nxn 关系:
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
希望对您有所帮助,祝您好运!