Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/07/2011, 21:07
Avatar de jam666
jam666
 
Fecha de Ingreso: septiembre-2009
Ubicación: Isla De Margarita - Venezuela
Mensajes: 428
Antigüedad: 15 años, 3 meses
Puntos: 39
problemas de consulta con Devise

Estoy usando la Gema Devise, para un proyecto Rails el cual le permite a
un usuario registrado gestionar tiendas.

tengo un controlador location_controller.rb el cual debe mostrarme (en
formato json) las tiendas correspondiente al usuario que esta logueado
en ese momento, es decir si yo me registro y me logueo, el sistema debe
mostrarme las tiendas que yo he agregado en la BD.

el controlador contiene lo siguiente:

Código Ruby:
Ver original
  1. class Account::LocationController < ApplicationController
  2.  
  3.   def index
  4.     @account = Account.find(current_account)
  5.  
  6.     render :json => { :locations => @account.locations }
  7.     end
  8.  
  9.   def create
  10.     @location = Location.new(params[:location])
  11.  
  12.     if (@location.save)
  13.       render :json => { :success => true }
  14.     else
  15.       render :json => { :success => false }
  16.     end
  17.   end
  18.  
  19.   def update
  20.     @location = Location.find(params[:id])
  21.  
  22.     if (@location.update_attributes(params[:location]))
  23.       render :json => { :success => true }
  24.     else
  25.       render :json => { :success => false }
  26.     end
  27.   end
  28.  
  29. end

Cuando me logueo con mi usuario de prueba, el sistema me muestra mis
tiendas correspondiente sin problemas, pero el problema viene es cuando
intento agregar una tienda nueva o edito la información de una tienda
que ya esta en la base de datos.

el error que me muestra en la terminal es http://c2.jam.net.ve/qvltvD

segun el error "no se puede encontrar account sin un ID" pero lo curioso
es que esto solo pasa al intentar editar o agregar una cuenta nueva,
luego de este error, si yo cierro session y vuelvo a loguearme se me
muestra sin problemas mis tiendas, y si le hice cambio a la informacion
de una tienda, se me muestra sin problemas.


por lo que veo tal vez el metodo index (el que muestra las tiendas
correspondiente a un usuario logueado en ese momento) no esta
funcionando del todo bien.

le pregunto a ustedes, si ya han trabajado con Devise hay alguna mejor
forma de realizar esta misma consulta sin que tenga errores????

conocen algun proyecto que haga algo similar que pueda revisar???


de antemano les comento que ya revise la wiki de Devise en su repo
github.com

Saludos.
__________________
J.A.M
Jam Blog