Hola , estoy intentando hacer un paginate rails de una tabla que
contiene
una consulta inner join
la siguiente consulta funciona correctamente
@series_obras_join = SeriesObra.find(:all,
:joins=>“INNER JOIN obras ON obras.que_serie = series_obras.id”,
:conditions=>{:quien_usr=>@artista.id},
:group=>“series_obras.id”)
pero a la hora de implementar esto e un paginate no funciona
@items_pages, @items = paginate :series_obras ,
:order=>sort,
:joins=>“INNER JOIN obras ON obras.que_serie =
series_obras.id”,
:conditions=>{:quien_usr=>@artista.id},
:group=>“series_obras.id”,
:per_page => items_per_page
el error:
Unknown options: group
al parecer el paginate de rails no permite el :group, que es lo que
necesito
para ejecutar correctamente mi consulta.
en todo caso mi idea era hacer algo un poco mas elegante estableciendo
relaciones desde los modelos, pero no encuentro como se puede hacer un
inner
join desde los modelos, en mi caso intente hacer lo siguiente:
desde mi modelo “usuarios_artistas”
class UsuariosArtista < ActiveRecord::Base
has_many :series_obras , :foreign_key => “quien_usr” do
def series
find(:all,:joins=>“INNER JOIN obras ON obras.que_serie =
series_obras.id”,
:group=>“series_obras.id”)
end
end
entonces puedo llamar a los registros con algo asi, suponiendo que cargo
a
un registro de @artista…
@artista.series_obras.series
pero como se pone eso en el paginate?? porque algo asi…
@items_pages, @items = paginate @artista.series_obras.series ,
:order=>sort,
:per_page => items_per_page
me da un error, ¿como podria acceder
usuarios_artistas.series_obras.series ?
espero que se entienda el problema, si no me avisan y doy mas
antecedentes
al respecto
saludos