2010-01-05 12 views
6

में तर्क के रूप में प्रतीक मैं समझता हूँ कि क्या form_for विधि में भेजा जाता है जब की तरह कुछ कर रही:रूबी: form_for

<% form_for(@user) do |f| %> ... <% end %> 

अगर @user नियंत्रक में सेट है। यह बहुत स्पष्ट है।

लेकिन जब हम :user पास करते हैं, तो क्या होता है, जैसा कि मैंने कई उदाहरणों में देखा है?

<% form_for(:user) do |f| %> ... <% end %> 

मुझे प्रतीक संस्करण का उपयोग कब करना चाहिए?

+0

रेल के आधार पर रूबी में उदाहरण आवृत्ति बनाम प्रतीक का संभावित डुप्लिकेट (फॉर्म \ _for)] (http://stackoverflow.com/questions/957204/instance-variable-vs-symbol-in-ruby-on-rails -फॉर्म-फॉर) –

उत्तर

7

प्रतीक का उपयोग करते हुए उत्पन्न करेगा:

<form action="/users" method="post"> 

वस्तु @user नया करने के लिए सेट आपको मिल का उपयोग करना:

<form action="https://stackoverflow.com/users/create" class="new_user" id="new_user" method="post"> 

आप कुछ और करने के लिए @user सेट करते हैं यह उत्पन्न प्रपत्र टैग बदल जाएगा , निश्चित रूप से ... इसे अपने लिए आज़माएं।

अंत में यह सब निर्भर करता है कि आप क्या करने की कोशिश कर रहे हैं। यदि आपके पास एकाधिक पृष्ठ हैं: तो आप उसी पृष्ठ पर उपयोगकर्ता फ़ॉर्म का प्रतीक उपयोग करना चाहेंगे।

+0

मैंने इसे एक परीक्षण दिया लेकिन कार्रवाई के लिए मूल्य नहीं बदलता है (यह '/ users' बनी हुई है)। हालांकि, मुझे वही चीज़ मिलती है जैसा आपने कक्षा और आईडी के लिए कोड ब्लॉक में उल्लेख किया है। – Mark

संबंधित मुद्दे