2010-01-02 12 views

Respuesta

44

Puede pasar una cadena en lugar de un modelo, que será utilizado para generar los nombres de campo:

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

que producirá algo como:

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

Pero tendrá que ser más específico con sus opciones, ya que formtastic no podrá determinar qué tipos de campos debe usar, todos los campos de texto de forma predeterminada (aunque automáticamente hace campos con el nombre password campos de tipo de contraseña).

Una mejor manera de hacer esto sería con un modelo de sesiones, eche un vistazo a cómo funciona authlogic (http://github.com/binarylogic/authlogic) para obtener más información.

+1

para aquellos de ustedes que se preguntan por qué la sintaxis anterior no funciona para las nuevas versiones de rieles, use <% = semantic_form_for%> en lugar de <% %> – Abdo

Cuestiones relacionadas