2011-07-16 4 views
13

में "चयनित" को कैसे सेट करें मैं लगभग 2 घंटों के लिए स्टैक ओवरफ्लो खोज रहा हूं, अब इसी तरह के प्रश्नों के माध्यम से जा रहा है लेकिन उत्तर केवल काम नहीं लग रहे हैं।select_tag/options_from_collection_for_select

<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name") %> 

मैं विकल्प के रूप में के बजाय डिफ़ॉल्ट रूप से पहली टैग में जाने का चयन किया मैं पहले चुन लिया है प्रदर्शित करने के लिए करना चाहते हैं:

मैं निम्नलिखित कोड है।

अन्य प्रश्नों में उन्होंने निम्नलिखित को जोड़ने का सुझाव दिया है (उनमें से कोई भी काम नहीं करता है)।

<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name", "1") %> 

या:

<%= select_tag "name_dropdown", options_from_collection_for_select(@models, "friendly_id", "name", @models.first.id) %> 

ps।

<%= 
    select_tag "name_dropdown", 
    options_from_collection_for_select(@models, "friendly_id", "name", @model.id) 
%> 

असल: मैं रेल 3.1.RC4

+0

क्या यह एक रूप में है या अकेले स्टैंड का चयन है? – s84

+0

यह एक स्टैंडअलोन चुनिंदा – imjp

उत्तर

26

यह मानते हुए कि आपके @models जो पूरी सूची में शामिल है के अलावा, आप भी @model जो मौजूदा रिकॉर्ड शामिल है का उपयोग कर रहा है, तो आप निम्न कर सकते हैं , चौथे पैरामीटर options_from_collection_for_select(...) में उस आइटम का आईडी होना चाहिए जिसमें आप चुना जाना चाहते हैं। आपका दूसरा कोड नमूना चयनित आईडी को हर बार 1 होने के लिए मजबूर करता है, और आपके द्वारा पोस्ट किया गया तीसरा नमूना हमेशा चयनित आइटम को @models में चयनित करता है, भले ही वास्तविक वर्तमान में चयनित मॉडल के बावजूद।

+2

धन्यवाद आदमी, मैंने इसे '@ model.id' के बजाय' @ model.friendly_id' डालकर तय किया: '<% = select_tag" name_dropdown ", options_from_collection_for_select (@models," friendly_id ", "नाम", @ model.friendly_id)%> ' – imjp