我正在使用 Rails 创建一个社交网络,该社交网络拥有可以发布图片、评论图片、签到地点等的用户。我创建了一个名为活动的表,其中包含这些字段:user_id、:ref_id、:creation_date,: activity_type,现在我想向用户显示朋友的活动,问题是我不知道如何通过活动表检索图片、评论等。我尝试过使用多态,但它不起作用,而且我不明白如何将 activity_type 字段映射到正确的表
class Activity < ActiveRecord::Base
belongs_to :user
belongs_to :source, :polymorphic => true
attr_accessible :user_id, :ref_id, :creation_date, :activity_type
as_enum :sellable_type, :new_flag=>1, :flag_comment=>2, :place_comment=>3, :picture_uploaded=>4, :album_created => 5, :picture_comment=>6
在我的用户模型中
has_many :sources, :through => :activity
这就是我试图检索朋友活动的方式
Activity.where(:user_id=>friends_ids).includes(:source).limit(20)
其中friends_id 是一个用户ID 数组