Requête SQL personnalisée sans table correspondante

J'ai une requête SQL qui n'est pas spécifique aux tables et je ne sais pas comment le gérer avec Ruby on Rails.

Voici ma requête SQL (vous n'avez pas besoin de le comprendre):

SÉLECTIONNER le type, actor_id, des événements.created_at, photo_id, photos.user_id DE 
(SÉLECTIONNEZ "commentaire" en tant QUE type, user_id COMME actor_id, created_at, photo_id DE commentaires 
UNION 
SÉLECTIONNEZ "classement" en tant QUE type, user_id COMME actor_id, created_at, photo_id DE classifications) 
COMME les événements 
INNER JOIN photos SUR photo_id = photos.id 
OÙ user_id = #{@user.id} 
COMMANDE PAR created_at DESC 
LIMITE de 9

J'ai essayé de créer un modèle et utiliser un find_by_sql:


class RecentActivity ActiveRecord::Base
  attr_accessor :type, :actor_id, :created_at, :photo_id, :user_id
end

J'obtiens:

Mysql::Erreur: Table 'mysite_development.recent_activities' n'existe pas: AFFICHER les CHAMPS DE `recent_activities`

Comment puis-je éviter ce message? Est-il une solution alternative?

source d'informationauteur collimarco