Modelo sin tabla que me genera error en los test

Señores:
Cree un modelo en este caso se llama sqltxt, que lo uso en las vistas
para poder ingresar codiciones que deben cumplir los registros que el
usuario quiere que aparescan en pantalla.

mi controller index por ende va mas omenos
así:def index
params[:txtsql].delete_if{|k,v| v.blank?} if !
params[:txtsql].blank?
@txtsql = Txtsql.new
@txtsql[:codigo] = “”
@txtsql[:nombre] = “”
if params[:txtsql].blank?
@bancos = Banco.all( :order => “nombre”)
else
txt = “”
arr = [“aca ira despues el txt”]
if not params[:txtsql][:codigo].blank?
txt += " AND codigo = ?"
arr << params[:txtsql][:codigo]
@txtsql[“codigo”] = params[:txtsql][:codigo]
end
if not params[:txtsql][:nombre].blank?
txt += " AND nombre LIKE ?"
arr << “%” + params[:txtsql][:nombre] + “%”
@txtsql[“nombre”] = params[:txtsql][:nombre]
end
arr[0] = txt[5…-1]
@bancos = Banco.all( :conditions => arr, :order => “nombre”)
end

lo que me permite mantener consistencia, es decir al mostrarle los
registros resultantes y lo que escribio el usuario para la consulta.

el caso es que al hacer los test me sale esto ( que es mi problema):

  1. Error:
    test_no_debe_grabar_comercio_sin_banco_(banco_id)(ComercioTest):
    ActiveRecord::StatementInvalid: Mysql::Error: Table
    ‘fempac_test.txtsqles’ doesn’t exist: DELETE FROM txtsqles

Existe una forma de decirle que ese modelo no tiene una tabla
correspondiente?

Gracias

Angel Mauricio Pino G
[email protected]
Movil: 08-577.92.72

Bueno ya lo resolvi de la manera simple cree una tabla con el nombre
txtsqles y ya no reclama.

Mis disculpas debi probar eso antes de mandar la consulta.

Gracias

El día 2 de mayo de 2009 14:12, Angel Mauricio Pino Gonzalez
[email protected]
escribió:> if params[:txtsql].blank?

   txt += " AND nombre LIKE ?"

el caso es que al hacer los test me sale esto ( que es mi problema):
Angel Mauricio Pino G
[email protected]
Movil: 08-577.92.72


Angel Mauricio Pino G
[email protected]
Movil: 08-577.92.72

Angel Mauricio Pino Gonzalez dijo [Sat, May 02, 2009 at 02:12:11PM
-0400]:

el caso es que al hacer los test me sale esto ( que es mi problema):
(…)
Existe una forma de decirle que ese modelo no tiene una tabla correspondiente?

Muy simple: No hagas que tu modelo herede de
ActiveRecord::Base. ActiveRecord se emplea para modelos que
corresponden a tablas de tu BD, para cualquier otra cosa, no es una
clase padre adecuada.

Puedes tener cualquier tipo de clase dentro de tus modelos -
Obviamente, no vas a poder decir Sqltxt.find(:all), porque no hay
dónde buscarlos, y tendrás que hacer las pruebas adecuadas al tipo de
modelo. Pero perfectamente puedes heredar de cualquier otra cosa (o de
ninguna, pa’l caso).

Saludos,


Gunnar W. - [email protected] - (+52-55)5623-0154 / 1451-2244
PGP key 1024D/8BB527AF 2001-10-23
Fingerprint: 0C79 D2D1 2C4E 9CE4 5973 F800 D80E F35A 8BB5 27AF