2012-05-05 22 views
7

W przypadku formularza subskrypcji muszę mieć pole, które nie jest zmapowane do mojego obiektu użytkownika.Jak dodać dane wejściowe niezwiązane z modelem za pomocą Formtastic

To pole służy tylko do zapytania użytkownika o kod zaproszenia, który jest sprawdzany na liście zaproszeń w akcji tworzenia kontrolera, ale nie jest zapisywany w żadnym miejscu i bez powiązania z tym obiektem użytkownika.

Próbowałem:

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

Ale to nie działa.

Jaki jest właściwy sposób, aby to zrobić z Formtastic?

Odpowiedz

3

odpowiedź Melindy jest w porządku, ale ponieważ dodatkowy atrybut jest nieco powiązany z modelem użytkownika, chciałbym utworzyć akcesor o Użytkowniku (w rzeczywistości, chciałbym stworzyć model rejestracja, ale to dygresja):

class User 
    attr_accessor :invitation_key 
end 

Następnie modyfikować kontroler by sprawdzić @user.invitation_key lub params[:user][:invitation_key] albo.

6

Można po prostu zrobić coś takiego zamiast f.input. Nie mogłem znaleźć sposób, aby to zrobić z Formtastic specyficzne pomocnika:

<li> 
    <%= label_tag 'Invitation Key' %> 
    <%= text_field_tag :invitation_key %> 
</li> 
Powiązane problemy