मेरे पास वर्तमान में कोकून का उपयोग करके उत्पन्न एक इनपुट फ़ॉर्म है और इसे क्रमबद्ध इनपुट फ़ील्ड बनाना चाहते हैं (jQuery-UI से क्रमबद्ध करने के द्वारा)।कोकून (नेस्टेड फॉर्म) और jQuery सॉर्ट करने योग्य का उपयोग
नेस्ट फार्म के लिए कोड है:
<%= f.simple_fields_for :checkout_procedures do |procedure| %>
<li><%= render 'checkout_procedure_fields', :f => procedure %></li>
<% end %>
<div class="links">
<%= link_to_add_association 'add step', f, :checkout_procedures %>
</div>
आंशिक कि प्रदान की गई है (_checkout_procedure_fields) है:
<div class="checkout_procedure nested-fields">
<table>
<tr>
<td><%= f.input :step %></td>
<td><%= link_to_remove_association "remove step", f %></td>
</tr>
</table>
</div>
मैं उनमें से अंदर डाल कर sortable मौजूदा तत्वों प्राप्त करने में सक्षम हूँ एक <div>
और इसे jQuery का उपयोग करके क्रमबद्ध करने की सेटिंग:
<div class="sortThese">
<%= f.simple_fields_for :checkout_procedures do |procedure| %>
<li><%= render 'checkout_procedure_fields', :f => procedure %></li>
<% end %>
</div>
<div class="links">
<%= link_to_add_association 'add step', f, :checkout_procedures %>
</div>
<script>
$(document).ready(function() {
$(".sortThese").sortable();
});
</script>
लेकिन यह करने से कोकून के link_to_add_association
और link_to_remove_association
की कार्यक्षमता टूट जाती है। <ul>
का उपयोग <li>
के साथ ही एक ही कोकून खराब होने के परिणामस्वरूप होता है। मैं कुछ जावास्क्रिप्ट को हैक करने के लिए चारों ओर देख रहा हूं जो प्रत्येक इनपुट फॉर्म को क्रमबद्ध div में और बाहर ले जाता है (ऐसा करने से लिंक फिर से काम करने लगते हैं), लेकिन जाहिर है यह यह सुरुचिपूर्ण है। अगर किसी के पास कोई सुझाव है, तो मैं वास्तव में उनकी सराहना करता हूं!
यह निश्चित नहीं है के बाद से संस्करण है, लेकिन वर्तमान में रेल 'fields_for' (जो' simple_fields_for' से लपेटा जाता है) 'id' के लिए एक छिपा इनपुट क्षेत्र कहते हैं। आप 'simple_fields_for'' विकल्प 'include_id => false' विकल्प देकर इसे छोड़ सकते हैं। यह छुपा इनपुट हटा देगा, और फिर सॉर्टिंग पहले की तरह काम करेगा। – nathanvda
धन्यवाद @nathanvda। यह मेरे लिए काम करता है। मुझे बदलने वाली एकमात्र चीज आईडी को आंशिक क्षेत्रों में एक छिपी हुई इनपुट के रूप में जोड़ना था क्योंकि मुझे अभी भी अपने नेस्टेड ऑब्जेक्ट के लिए आईडी चाहिए। – sdoxsee