0

Я создаю социальную сеть с использованием рельсов, у социальных пользователей есть возможность опубликовывать фотографии, комментировать изображения, места регистрации и т. Д. Я создал таблицу, называемую действиями, которая содержит эти поля: 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 является массивом пользовательских идентификаторов

ответ

1

мое решение добавляет столбец для индексирования id и типа.

нравится "12 @ пользователь".

вы можете проверить мой драгоценный камень https://github.com/jjyr/my_feeds