2010-06-13 16 views
5

Así que aquí está el escenario:Formtastic campos de formulario modelo anidados (carriles 3)

usuario:

has_one :company 
accepts_nested_attributes_for :company 

controlador:

@user = User.new 
@user.build_company 

Vista:

<% semantic_form_for @user, :url => register_path do |form| %> 

    <h2>User Information</h2> 

    <%= form.inputs %> 

    <h2>Company Information</h2> 

    <% form.semantic_fields_for :company do |company| %> 
    <%= company.inputs %> 
    <% end %> 

    <%= form.buttons %> 

<% end %> 

Después de fregar la web, esto PARECE que debería funcionar. Sin embargo, todo lo que obtengo son las entradas del usuario. El bloque "semantic_fields_for: company" no emite nada en absoluto ...

¿Me falta algo aquí, o es quizás un error de Rails 3 relacionado con Formtastic?

Respuesta

4

Es necesario utilizar "<% =%>" con Rails 3 bloques en lugar de "<%%>". Por lo tanto, el código debe ser:

<%= semantic_form_for @user, :url => register_path do |form| %> 

    <h2>User Information</h2> 

    <%= form.inputs %> 

    <h2>Company Information</h2> 

    <%= form.semantic_fields_for :company do |company| %> 
    <%= company.inputs %> 
    <% end %> 

    <%= form.buttons %> 

<% end %> 
+0

Falta un personaje .. . tengo que amarlo: P – elsurudo

+0

¡Guau, muchas gracias! Pasé más de una hora buscando esto. – Alex

2

como para nueva sintaxis rails3, en su controlador que debe utilizar

@user.company.build

en lugar de

@user.build_company

+0

En realidad, esto no funciona. Obtiene una referencia nula ... – elsurudo

+0

lo probó en rails3 beta4. funciona, este es un ejemplo tomado de un controlador que escribí: def nuevos @realty = Realty.new @ realty.ownerships.build (: person_id => params [: person_id]) respond_to do | formato | format.html # new.html.erb final final los métodos build_ * se eliminaron con seguridad. –

+1

Funciona para usted porque su @realty tiene muchas propiedades. Cuando tiene uno (como en el caso del OP), necesita usar @realty.build_ownership –

Cuestiones relacionadas