我对Rails相当陌生,我正在开发一个" Facebook"像软件一样,用户可以写帖子,发表评论,并放置喜欢(投票)。 可以对两个评论的帖子进行投票。用户可以投票自己的帖子以及其他用户的帖子。
所以,这是我的模特:
user.rb
>>> data_bio = BIO.openfile('data.txt')
post.rb
has_many :posts
has_many :votes
comments.rb
belongs_to :user
has_many :comments
has_many :votes, as: :votable
votes.rb
belongs_to :user
belongs_to :post
has_many :votes, as: :votable
(它具有多态性,因为它适用于评论和帖子。我做得好吗?)
我的数据库结构是这样的: 表帖(id,user_id,...) 表投票(id,votable_id,votable_type,user_id,...)
这里的问题是:如何在user_id 16和我正在寻找user_id 21个帖子的地方加载正确的信息?
这是我在急切的加载声明中所需要的:
belongs_to :user
belongs_to :voteable, polymorphic: true
我试图找到一种方法来放置" votes.user_id"在eager_load语句中的条件,但我找不到方法...
感谢名单!