2010-06-13 5 views
5

Also hier ist das Szenario:Formtastic verschachtelte Modell Formularfelder (Rails 3)

Benutzer:

has_one :company 
accepts_nested_attributes_for :company 

Controller:

@user = User.new 
@user.build_company 

Ausblick:

<% 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 %> 

Nach Scheuern Das Web, das scheint wie es sollte. Alles, was ich bekomme, sind jedoch die Benutzereingaben. Der Block "semantic_fields_for: company" gibt gar nichts aus ...

Fehle ich hier etwas, oder ist das vielleicht ein Rails 3 Bug, der mit Formtastic zu tun hat?

Antwort

4

Sie benötigen "<% =%>" mit Rails 3 Blöcken statt "<%%>" zu verwenden. Somit sollte der Code sein:

<%= 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

fehlt ein Zeichen verwendet werden soll .. Ich muss es lieben: P – elsurudo

+0

Wow, vielen Dank! Ich habe über eine Stunde damit verbracht. – Alex

2

wie für rails3 neue Syntax, in dem Controller Sie

@user.company.build

statt

@user.build_company

+0

Eigentlich funktioniert das nicht. Sie erhalten eine Null-Referenz ... – elsurudo

+0

getestet es auf Rails3 beta4. es funktioniert, dies ist ein Beispiel von einem Controller Ich schrieb genommen ist: def neue @realty = Realty.new @ realty.ownerships.build (: person_id => params [: person_id]) respond_to tun | Format | format.html # new.html.erb Ende Ende die build_ * -Methoden wurden sicher entfernt. –

+1

Es funktioniert für Sie, weil Ihre @realty has_many Besitzungen hat. Wenn es has_one hat (wie im Fall des OP), müssen Sie @ realty.build_ownership –

Verwandte Themen