# Crear un formulario para control

**URL:** <https://www.ruby-forum.com/t/crear-un-formulario-para-control/143898>\
**Category:** ES\
**Created:** [July 23, 2008, 5:51pm UTC](https://www.ruby-forum.com/t/crear-un-formulario-para-control/143898 "2008-07-23T17:51:31Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![arriquito](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f0a364/32.png) [@arriquito](https://www.ruby-forum.com/u/arriquito)\
**Post date:** [July 23, 2008, 5:51pm UTC](https://www.ruby-forum.com/t/crear-un-formulario-para-control/143898/1 "2008-07-23T17:51:31Z")

</div>

Hola gente de la lista:

les transmito mi problema a ver si puedo ser claro.

Necesito crear un formulario que consulte una tabla de una base de datos  
externa y me devuelva si los datos existen. Entonces una ves que me diga  
si existe o no es la desicion que voy a tomar. Si existe en la tabla de  
la base externa preguntare en la tabla inscripcions si existe y si es  
asi ofrecere editar, en el caso contrario le permitire el alta con new.  
En el caso que no exista en la tabla de la base externa, ofrecere un  
cartel que diga que no existe y volvere para que vuelvan a intentar

El acceso a la base de datos externa ya lo hice, y me funciona perfecto.

El problema que tengo ahora es que no encuentro la forma de crear este  
formulario.  
Les cuento que he hecho:

1 - La tabla con que voy a trabajar es inscripcions, entonces creo  
ingreso.html.erb dentro del views/inscripcions/. Ahi coloque dos o tres  
cosas que me muestre solamente, despues cree en  
inscripcions\_controller.rb

def ingreso

end

El problema aca es que entra siempre en show y me da un error alli.  
Estoy a punto de probar con un martillo a ver si entra a ingreso, pero  
Rails no quiere saber nada.

2 - despues reemplaze form\_for por start\_form\_tag :action =\> ‘ingreso’  
pero Rails como si no hubiera notado diferencia. sigue entrando en show  
y me da el mismo error

3 - cree una carpeta app/views/ingresos y ahi coloque index.html.erb.  
copie ingreso.html.erb a la carpeta ingresos del views/ingresos  
index.html.erg.  
Cree la ruta dentro de config/routes.rb como map.resources :ingresos y  
en el controlador cree ingresos\_controller.rb con las funciones de index  
solamente, para ir viendo donde puede estar el error pero RoR me  
contesta:

NoMethodError in Ingresos#index

Showing ingresos/index.html.erb where line #6 raised:

undefined method `start\_form\_tag’ for #ActionView::Base:0xb550defc

Extracted source (around line #6):

3: \<%= error\_messages\_for :inscripcion %\>  
4:  
5:

  
6: \<% start\_form\_tag :action=\> ‘index’ %\>  
7:   
8:  
9: \<% end\_form\_tag %\>

RAILS\_ROOT: /home/eguntsche/rails/siccom  
Application Trace | Framework Trace | Full Trace

app/views/ingresos/index.html.erb:6:in  
`_run_erb_47app47views47ingresos47index46html46erb' app/controllers/ingresos_controller.rb:7:in`index’

entiendo que el error que me esta dando es que no es un metodo  
start\_form\_tag

Realmente estoy desorientado, y seguro debe ser una tontera que no estoy  
viendo.  
He leido sopre las opciones de como se pueden crear formularios regular  
form helpers y basados en el modelo (model form helpers) y creo haber  
entendido las diferencias.

Por favor si alguien me puede ayudar. Gracias y saludos a todos

| **Usuario** |

---

<div class="post-metadata">

**Author:** ![arriquito](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f0a364/32.png) [@arriquito](https://www.ruby-forum.com/u/arriquito)\
**Post date:** [July 25, 2008, 4:58pm UTC](https://www.ruby-forum.com/t/crear-un-formulario-para-control/143898/2 "2008-07-25T16:58:55Z")

</div>

te recomiedo que uses el scaffold de rails, este comando te crea los  
CRUD de  
un solo golpe.

1. Te crea la clase modelo que es la que se va a mapear con tu tabla de  
la  
base de datos.
2. Te crea el controller con las acciones create, update, destroy  
(delete),  
entre otras
3. Te crea las vistas de cada una de las acciones del controller con sus  
formularios y todo.

Luego te dedicas a ver como vas a implementar tus reglas de negocio que  
es  
lo que estabas explicando al principio del mail.

Muchas Suerte…

El 23 de julio de 2008 11:21, Enrique G.\<  
removed\_email\_address@domain.invalid\>escribiÃ³:

---

<div class="post-metadata">

**Author:** ![arriquito](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f0a364/32.png) [@arriquito](https://www.ruby-forum.com/u/arriquito)\
**Post date:** [July 25, 2008, 5:17pm UTC](https://www.ruby-forum.com/t/crear-un-formulario-para-control/143898/3 "2008-07-25T17:17:03Z")

</div>

> El problema aca es que entra siempre en show y me da un error alli.  
> Estoy a punto de probar con un martillo a ver si entra a ingreso, pero  
> Rails no quiere saber nada.

Hola Enrique G. a ver si te entiendo tienes un problema en el  
show, lo que puedes intentar es que en tu controller en el mÃ©todo

def index  
@usuario = Usuario.find\_all  
end

Para que puedas mostrar todos tus usuarios en tu formulario, otra cosa  
recuerda que tienes que poner el mÃ©todo que esta en tu controlador la  
direccion asÃ­a que pagina quieres ir con un render :action =\> ‘show’.  
ejemplo

def index  
@usuario = Usuario.find\_all  
render :action =\> ‘show’  
end

ya que de esta forma obligas el direccionamiento a una pagina en  
especifica

---

<div class="post-metadata">

**Author:** ![arriquito](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/a/f0a364/32.png) [@arriquito](https://www.ruby-forum.com/u/arriquito)\
**Post date:** [July 31, 2008, 3:51pm UTC](https://www.ruby-forum.com/t/crear-un-formulario-para-control/143898/4 "2008-07-31T15:51:17Z")

</div>

Juan eso lo entiendo.  
Ante todo he desaparecido unos dias que me tome de vacaciones.  
Te repito lo que me decis lo entiendo. A lo mejor no me explico bien. Yo  
voy a trabajar con una tabla que es incripcions, en la cual voy a  
inscribir xxxxx empresas. Antes de entrar a cargar inscripcions necesito  
revisar una tabla externa de otra base de datos. La relacion con la  
tabla externa, la logrue hacer perfecto. El problema que tengo es que  
tengo que buscar primero en la tabla externa con lo cual debo llenar dos  
campos. 1 con el numero de inscripcion que tiene aca en la empresa o el  
2 que es la clave tributaria.con uno o con los dos busto en la tabla  
externa y me va a devolver si esta registrado. En ese caso debo ir a mi  
tabla inscripcions y tam bien comprobar si existe, en el caso que no  
realizo un new en el caso que si exista ofrezco modificarlo.  
Espero haber sido un poco mas claro.

Como dice Manuel tengo entendido que no puedo hacerlo si es una tabla  
externa. De todos modos presido hacer una busqueda en la tabla externa.  
No voy a cargar, listar, modificar ni borrar nada en esa tabla, solo  
buscar si esta cargado y extraer datos basicos (nombre, domicilio,  
ciudad, Provincia, telefono, etc…)
