2012-05-05 13 views
7

Para obtener un formulario de suscripción, necesito tener un campo que no esté asignado a mi objeto Usuario.Cómo agregar una entrada no relacionada con el modelo con Formtastic

Este campo solo se usa para pedirle al usuario un código de invitación, que se compara con una lista de invitaciones en la acción de creación del controlador, pero no se guarda en ninguna parte y sin relación con este objeto Usuario.

me trataron:

<%= semantic_form_for(resource, :as => resource_name, :url => registration_path(resource_name)) do |f| %> 
    <%= f.input :invitation_key, :input_html => {:name => 'invitation_key', :id => 'invitation_key'} %> 

Pero no funciona.

¿Cuál es la forma correcta de hacer esto con Formtastic?

Respuesta

3

respuesta de Melinda está muy bien, pero desde el atributo extra es algo relacionado con el modelo de usuario, me gustaría crear un descriptor de acceso en el usuario (en realidad, me gustaría crear un modelo de Inscripción, pero eso es una digresión):

class User 
    attr_accessor :invitation_key 
end 

a continuación, modificar su controlador para comprobar cualquiera @user.invitation_key o params[:user][:invitation_key].

6

Puede hacer algo como esto en lugar de la entrada de salida. No pude encontrar una manera de hacerlo con un ayudante-Formtastic específica:

<li> 
    <%= label_tag 'Invitation Key' %> 
    <%= text_field_tag :invitation_key %> 
</li> 
Cuestiones relacionadas