2012-06-11 4 views
16

मैं एक का चयन क्षेत्र है और मैं यह नाम कहा जाता है पर एक कस्टम विशेषता रखना चाहते हैं, मुझे लगता है कि जैसे कि यह करने की कोशिश की:रेल सरल फार्म कस्टम संघ का चयन क्षेत्र

<%= f.association :in_charge, :collection => User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %>  

यह काम करता है और अतिरिक्त विशेषता उत्पन्न करता है लेकिन एक समस्या है, इस मामले में l.name में चयन मूल्य विशेषता मॉडल नाम विशेषता में बदल जाती है। मैंने स्थानों को बदल दिया और पहले l.id डाल दिया लेकिन आईडी विशेषता प्रदर्शित होती है, उन्हें डुप्लिकेट मिलता है, कोई विचार क्यों होता है?

एसोसिएशन फ़ील्ड में कस्टम विशेषताओं को परिभाषित करने का कोई और तरीका है?

उत्तर

24

एक सरलफॉर्म इनपुट द्वारा लिपटे रेल select() फॉर्म सहायक का उपयोग करें।

<%= f.input :in_charge do %> 
    <%= f.select :county_id, User.lawyer.map{ |l| [l.name, l.id, {:name => l.name.downcase}] } %> 
<% end %> 

आपका कोड अपेक्षित ढंग से, क्योंकि हुड के नीचे, SimpleForm collection_select() जो विकल्प टैग में अतिरिक्त विशेषताओं का समर्थन नहीं करता कहता है काम नहीं करता।

सरलफॉर्म रीडमे में solution भी है। लेकिन मैंने ध्यान नहीं दिया कि जब तक मैंने खुद को समस्या हल नहीं की थी :)

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

  • कोई संबंधित समस्या नहीं^_^