У меня есть следующая модель:
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?и: рекомендованные_позиции должны содержать сообщения, в которых: sharee_id - это идентификатор_пользователя?
Заранее спасибо!