【发布时间】:2011-09-05 22:59:39
【问题描述】:
我有以下型号:
class UserShareTag < ActiveRecord::Base
attr_protected :sharee_id, :post_id, :sharer_id
belongs_to :sharer, :class_name => "User"
belongs_to :post
belongs_to :sharee, :class_name => "User"
validates :sharer_id, :presence => true
validates :sharee_id, :presence => true
validates :post_id, :presence => true
end
在 Post 模型中,我有以下行:
has_many :user_share_tags, :dependent => :destroy
has_many :user_sharers, :through => :user_share_tags, :uniq => true, :class_name => "User"
has_many :user_sharees, :through => :user_share_tags, :uniq => true, :class_name => "User"
我如何传达 :user_sharers 应该对应于 :sharer_id?和 :user_sharees 应该对应于 :sharee_id?由于它们都是同一个用户模型,我不确定该怎么做。
有些相关的问题 - 在我的用户模型中:
has_many :user_share_tags, :dependent => :destroy
has_many :user_shared_posts, :through => :user_share_tags, :uniq => true, :class_name => "Post"
has_many :recommended_posts, :through => :user_share_tags, :uniq => true, :class_name => "Post"
如何合并 :user_shared_posts 应包含 :sharer_id 为 user_id 的帖子的附加逻辑?并且 :recommended_posts 应该包含 :sharee_id 是 user_id 的帖子?
提前致谢!
【问题讨论】:
标签: ruby-on-rails model associations has-many-through