Tengo una duda al declarar la paginacion

tengo una duda al declarar la paginacion.

estoy modificando el metodo show del scaffold para mostrar el detalle
del
elemento SECTOR y el la isma pagina mostrar el listado de las empresas

despues de modificar la vista de SECTOR/SHOW

modifico el controlador de sector algo asi:

def show
@sector = Sector.find(params[:id])
@empresas = @sector.empresas

end

pero necesito paginar los resultados, del listado pues son muy largos,

la solucion es algo asi:

def show
@sector = Sector.find(params[:id])
@empresa_pages, @empresas = @sector.empresas, paginate :empresas,
:per_page => 10
end

pero no acierot en la sintaxis correcta de la paginacion

El Lunes, 27 de Noviembre de 2006 00:25, lamacarena
escribió:> def show

@sector = Sector.find(params[:id])
@empresa_pages, @empresas = @sector.empresas, paginate :empresas,

:per_page => 10

end

pero no acierot en la sintaxis correcta de la paginacion

A lo mejor te vale algo
así:
def show
@sector = Sector.find(param[:id]) # Sólo si necesitas @sector en la vista
@empresas_pages, @empresas = paginate :empresas,
:conditions => [‘sector_id = ?’, params[:id]]
end

Saludos.


Imobach González Sosa

Correo-e: imobachgs en banot punto net

El Lunes, 27 de Noviembre de 2006 14:22, lamacarena
escribió:> nos acercamos, pero pasa q existe entre sector y empresas una relacion

muchos a muchos, por lo tanto no existe sector_id en la tabla empresa

se tendra q utilizar la tabla intermedia?
empresas_sectors
id; empresas_id; sector_id

No, supongo que usando la opción “:join” del método find
bastará.
Saludos.

Imobach González Sosa

Correo-e: imobachgs en banot punto net

nos acercamos, pero pasa q existe entre sector y empresas una relacion
muchos a muchos, por lo tanto no existe sector_id en la tabla empresa

se tendra q utilizar la tabla intermedia?
empresas_sectors
id; empresas_id; sector_id

seria asi?
@empresas_pages, @empresas = paginate :empresas, :per_page => 20,
:joins => " , sectors", :conditions => [‘sector_id = ?’, params[:id]]

o tenfo q poner la condiciones tipo consulta sql de un join de 3 tablas?

y mi pregunta, si ya relacione las tablas en los modelos
has_and_belongs_to_many :sectors
y
has_and_belongs_to_many :empresas

pq tengo q volver a relacionarlas con un join??

lamacarena wrote:

otra cosa para tener una paginacion numerica tipo 1,2,3, … como seria?

me respondo:
<%= "Page: " + pagination_links(@item_pages, :params => { :action =>
@params[“action”] || “index” }) + “


” if @item_pages.page_count>1
%>

Hola, una vez que solucioné el problema de la comunicación me salta otro
problema al pasar todos los argumentos :

@query = ‘select’
@rut = ‘1234567-8’
@output = ‘’
@nada = ‘’
factory =
SOAP::WSDLDriverFactory.new(“http://www.mobilemate.cl/Register/Service.asmx?WSDL”)
soap = factory.create_rpc_driver
@soapResponse = soap.Company(:typequery =>@query, :inputrut =>@rut,
:inputlogin =>@nada, :inputpassword =>@nada,
:inputname =>@nada, :inputmail =>@nada, :outputcolumns =>@output)
soap.reset_stream

al decirle al web service que me devuelva los parámetros que yo le paso
me
devuelve vacios…oseea nada

¿Alguna sugerencia??

finalmente esta fue la solucion:

@empresa_pages, @empresas = paginate (:empresas,
:join =>‘JOIN empresas_sectors ON
empresas.id = empresas_sectors.empresa_id’,
:conditions => [‘sector_id = ?’,
params[:id]])

pero me extraña q no se pueda paginardirectamente sobre @sector.empresas
y practicvamente tenga q realizar la consulta de algo q ya tengo.

estoy repasando los ejemplos de
http://api.rubyonrails.com/classes/ActionController/Pagination.html#M000104

por si encuentro algo.

otra cosa para tener una paginacion numerica tipo 1,2,3, … como seria?