2012-02-02 6 views
50

मैं सरल_फॉर्म मणि का उपयोग कर रहा हूं, मेरे पास एक देश संग्रह है, जब मैं देश का चयन करता हूं तो यह ठीक काम करता है, और अद्यतन रिकॉर्ड में देश आईडी संग्रहीत होगी, लेकिन, जब मैं रिकॉर्ड संपादित करने का प्रयास करता हूं, तो चुने गए देश का चयन नहीं किया जाता है संपादन फॉर्म पर डिफ़ॉल्ट।रेल, simple_form, कैसे एक संग्रह के चयनित सूचकांक स्थापित करने के लिए, जब पेज लोड?

= f.input :country_id, :collection => all_countries 

डाटाबेस से चयनित देश देखने simple_form नहीं करना चाहिए:

यहाँ संपादित रूप में कोड है? चयनित => विकल्प:

+0

> db से चयनित देश देखने simple_form नहीं करना चाहिए? यह चाहिए क्योंकि simple_form चारों ओर सिर्फ एक आवरण है रेल 'सहायकों form_for। यह देखने के लिए कि क्या कोड में कोई चयनित विकल्प नहीं है, अपने जेनरेट किए गए एचटीएमएल की जांच करें। – Ineu

+0

मुझे लगता है कि अगर इस सवाल अवधि "डिफ़ॉल्ट" का उपयोग नहीं किया उपयोगी होगा। जब मैं देखता हूं कि मुझे लगता है कि आप इस बारे में बात कर रहे हैं कि चयनित आइटम क्या होगा जब आपने पहले कुछ भी नहीं चुना है, न कि जब आपने कुछ संग्रहीत किया था और पृष्ठ पर वापस आ गया था। – cesoid

+0

हाँ, मैंने इसे ठीक कर दिया है, लेकिन सवाल थोड़ा लंबा हो गया है :) – simo

उत्तर

117

आप का उपयोग करने की कोशिश की है?

:selected => selected_country_id 

तो,

= f.input :country_id, :collection => all_countries, :selected => selected_country_id 

यह पूरी तरह से काम करेंगे !!!

चीयर्स!

+0

यानी '= f। इनपुट: country_id,: संग्रह => all_countries,: चयनित => चयनित_country_id' –

+2

यह तब प्रतीत नहीं होता है जब: include_blank सत्य पर सेट होता है। क्या यह एक बग हो सकता है? – Remo

+0

यह @Remo आपके कोड को ठीक से जांचता है। –

7

मैं इस उत्तर दिया गया है पता है, लेकिन मैं यहाँ चेक बॉक्स का एक संग्रह के लिए एक समान समाधान की तलाश में आया था। वंशावली के लिए, यहां आप यह कैसे करते हैं:

<%= f.input :country_ids, :as => :check_boxes, :collection => [['USA', :USA], ['Japan', :JPN]], :checked => [:JPN], :include_hidden => false %> 

उम्मीद है कि यह किसी की सहायता करेगा।

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