2012-05-05 5 views
7

के साथ मॉडल से संबंधित इनपुट को जोड़ने के लिए कैसे एक सदस्यता फॉर्म के लिए, मुझे एक ऐसा फ़ील्ड होना चाहिए जो मेरे उपयोगकर्ता ऑब्जेक्ट पर मैप नहीं किया गया हो।फॉर्मेटास्टिक

यह फ़ील्ड केवल उपयोगकर्ता को निमंत्रण कोड के लिए पूछने के लिए प्रयोग किया जाता है, जो नियंत्रक की निर्माण कार्रवाई में आमंत्रण सूची के विरुद्ध चेक किया जाता है, लेकिन कहीं भी सहेजा नहीं जाता है, और इस उपयोगकर्ता ऑब्जेक्ट के संबंध में।

मैंने कोशिश की:

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

लेकिन यह काम नहीं करता।

फॉर्मटास्टिक के साथ ऐसा करने का सही तरीका क्या है?

उत्तर

3

मेलिंडा का जवाब ठीक है, लेकिन जब से अतिरिक्त विशेषता कुछ हद तक उपयोगकर्ता मॉडल से संबंधित है, मैं उपयोगकर्ता पर एक्सेसर बन जाएगा (वास्तव में, मैं एक पंजीकरण मॉडल बनाने चाहते हैं, लेकिन है कि एक विषयांतर है):

class User 
    attr_accessor :invitation_key 
end 

तो या तो जाँच करने के लिए @user.invitation_key या params[:user][:invitation_key] अपने नियंत्रक को संशोधित।

6

आप f.input के बजाय ऐसा कुछ कर सकते हैं। मैं एक Formtastic विशेष सहायक के साथ यह करने के लिए एक तरह से नहीं मिल सका:

<li> 
    <%= label_tag 'Invitation Key' %> 
    <%= text_field_tag :invitation_key %> 
</li> 
संबंधित मुद्दे