# Validar un formulario con que captura a 2 tablas

**URL:** <https://www.ruby-forum.com/t/validar-un-formulario-con-que-captura-a-2-tablas/130375>\
**Category:** Rails\
**Created:** [February 27, 2008, 7:57pm UTC](https://www.ruby-forum.com/t/validar-un-formulario-con-que-captura-a-2-tablas/130375 "2008-02-27T19:57:46Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![fvasquez](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9dc877/32.png) [@fvasquez](https://www.ruby-forum.com/u/fvasquez)\
**Post date:** [February 27, 2008, 7:57pm UTC](https://www.ruby-forum.com/t/validar-un-formulario-con-que-captura-a-2-tablas/130375/1 "2008-02-27T19:57:46Z")

</div>

Hola…  
Aqui ando de pregunton de nuevo…

Ya logre tener un formulario el cual esta compuesto de elementos que  
capturan a 2 tablas user y virtual

# New user

\<%= error\_messages\_for :user %\>  
\<% form\_for(@user) do |f| %\>

**Email**  
\<%= f.text\_field :email %\>

**Password**  
\<%= f.text\_field :password %\>

**Name**  
\<%= f.text\_field :name %\>

\<% fields\_for :virtual do |f| %\>

**Email**  
\<%= f.text\_field :email %\>

**Destination**  
\<%= f.text\_field :destination %\>

\<% end %\> 

\<%= f.submit "Create" %\>

\<% end %\> \<%= link\_to 'Back', users\_path %\>

El metodo create es este para el objeto USER

def create  
@user = User.new(params[:user])  
@user.uid = 1008  
@user.gid = 1008  
@user.homedir = “var/vmail”  
@user.maildir = @user.email+"/"  
@user.quota = 52428800  
@user.Virtual = Virtual.new(params[:virtual])

```
respond_to do |format|
  if @user.save ....

```

y mis modelos son estos

class User \< ActiveRecord::Base  
has\_one :Virtual  
validates\_associated :Virtual  
validates\_presence\_of :email,:password, :name =\> “Campo Requerido”

end

class Virtual \< ActiveRecord::Base  
belongs\_to :User  
validates\_presence\_of :email, :destination =\> “Campo Requerido”  
end

El problema es que cuando capturo a la forma no me valida los campos en  
forma indiviual de la tabla VIRTUAL

Pense que la validacion la hacia por medio de la relacion entre  
modelos…

Alguna sugerencia…

Gracias

---

<div class="post-metadata">

**Author:** ![fvasquez](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/9dc877/32.png) [@fvasquez](https://www.ruby-forum.com/u/fvasquez)\
**Post date:** [February 27, 2008, 9:57pm UTC](https://www.ruby-forum.com/t/validar-un-formulario-con-que-captura-a-2-tablas/130375/2 "2008-02-27T21:57:10Z")

</div>

> # New user
> 
> \<%= error\_messages\_for :user %\>  
> \<% form\_for(@user) do |f| %\>
> 
> **Email**  
> \<%= f.text\_field :email %\>
> 
> **Password**  
> \<%= f.text\_field :password %\>
> 
> **Name**  
> \<%= f.text\_field :name %\>
> 
> \<% fields\_for :virtual do |f| %\>
> 
> **Email**  
> \<%= f.text\_field :email %\>
> 
> **Destination**  
> \<%= f.text\_field :destination %\>
> 
> \<% end %\> 
> 
> \<%= f.submit "Create" %\>
> 
> \<% end %\> \<%= link\_to 'Back', users\_path %\>

Hola,

no hablo muy bien espangol pero para mi tienne un problema con

\<%form\_for @user do |f| %\> y \<%fields\_for :virtual do |f|%\> estan los  
dos “f”, no es un problema? no se…

y porque hace “\<%form\_for @user…%\>”,

\<%form\_for :user %\> ???
