Tengo una consulta SQL que no es específica de la tabla y no sé cómo manejarla con Ruby On Rails.Consulta SQL personalizada sin la tabla correspondiente
Aquí mi consulta SQL (que no es necesario para entenderlo):
SELECT type, actor_id, events.created_at, photo_id, photos.user_id FROM (SELECT 'comment' AS type, user_id AS actor_id, created_at, photo_id FROM comments UNION SELECT 'classification' AS type, user_id AS actor_id, created_at, photo_id FROM classifications) AS events INNER JOIN photos ON photo_id = photos.id WHERE user_id = #{@user.id} ORDER BY created_at DESC LIMIT 9
que intentó crear un modelo y utilizar un find_by_sql:
class RecentActivity ActiveRecord::Base
attr_accessor :type, :actor_id, :created_at, :photo_id, :user_id
end
me sale:
Mysql::Error: Table 'mysite_development.recent_activities' doesn't exist: SHOW FIELDS FROM `recent_activities`
¿Cómo puedo evitar este mensaje? ¿Hay alguna solución alternativa?
¿Qué quiere decir, Veo tablas en esa consulta. –
No hay ninguna tabla MySql que se llame recent_activities y corresponda al modelo. – collimarco