0

我正在使用 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 数组

4

1 回答 1

1

我的解决方案是在索引 ID 和类型中添加一列。

像“12@user”。

你可以查看我的 gem https://github.com/jjyr/my_feeds

于 2013-05-12T13:48:44.110 回答