2010-01-02 6 views

Antwort

44

Sie eine Zeichenfolge anstelle eines Modells passieren kann, die verwendet werden, um die Feldnamen zu generieren:

<% semantic_form_for 'user', :url => 'login' do |f| %> 
    <% f.inputs :name => 'Login Details' do %> 
     <%= f.input :username %> 
     <%= f.input :password %> 
    <% end %> 
<% end %> 

die so etwas wie produzieren:

<form action="/login" class="formtastic user" method="post"><div style="margin:0;padding:0;display:inline"><input name="authenticity_token" type="hidden" value="E/NksKRd7Twh4nGp1Qc8jBQNfqYDn8gg6sWdTdCtl+g=" /></div> 
    <fieldset class="inputs"><legend><span>Login Details</span></legend><ol> 
     <li class="string required" id="user_username_input"><label for="user_username">Username<abbr title="required">*</abbr></label><input id="user_username" name="user[username]" size="50" type="text" /></li> 
     <li class="password required" id="user_password_input"><label for="user_password">Password<abbr title="required">*</abbr></label><input id="user_password" name="user[password]" size="50" type="password" /></li> 
    </ol></fieldset> 
</form> 

Aber Sie müssen sein genauer gesagt mit Ihren Optionen als formtastic wird nicht in der Lage sein zu erarbeiten, welche Arten von Feldern es verwenden sollte, alle standardmäßig auf Textfelder (obwohl es automatisch Felder wie password Passwort-Typ Felder macht).

Eine bessere Möglichkeit, dies zu tun wäre jedoch mit einem Sessions-Modell, werfen Sie einen Blick auf die Art und Weise authlogic (http://github.com/binarylogic/authlogic) funktioniert für weitere Informationen.

+1

Wenn Sie sich fragen, warum die obige Syntax für neue Rails-Versionen nicht funktioniert, verwenden Sie <% = semantic_form_for%> anstelle von <% %> – Abdo

Verwandte Themen