में शामिल नहीं किया गया है मेरे पास एक कार्य मॉडल है, जो एक उद्देश्य मॉडल के साथ कई से अधिक संबंधों में शामिल है।रेल रूपों - जब कोई चेकबॉक्स चेक नहीं किया जाता है, तो पोस्ट को पोस्ट
मेरे पास एक कार्य संपादन फ़ॉर्म है जहां कोई उपयोगकर्ता चेकबॉक्स के माध्यम से किसी कार्य को किसी कार्य के साथ जोड़ सकता है। जब चेकबॉक्स चेक किया जाता है, तो उसे कार्य और किसी विशेष उद्देश्य के बीच एक संबंध इंगित करना चाहिए; जब एक चेकबॉक्स चेक नहीं किया जाता है, तो कोई सहयोग नहीं होना चाहिए। फॉर्म सबमिट होने पर डेटाबेस को जारी रखा जाना चाहिए।
<%= form_for @task do |f| %>
<% Objective.all.each do |objective| %>
<%= check_box_tag :objective_ids, objective.id, @task.objectives.include?(objective), :name => 'task[objective_ids][]' %>
<% end %>
<%= f.button :submit %>
<% end %>
एक टास्क अपडेट कर रहा है जब तक कि एक चेकबॉक्स उपयोगकर्ता द्वारा जाँच की है बिलकुल ठीक काम करने के लिए लगता है, लेकिन उपयोगकर्ता किसी भी चेक बॉक्स की जाँच नहीं करता जब, :objective_ids
परम (जो उद्देश्य आईडी की एक सरणी है) POST कार्रवाई में बिल्कुल शामिल नहीं है। इस वजह से, जब मैं नियंत्रक में @task.update_attributes(params[:task])
करता हूं, तो कार्य का उद्देश्य संग्रह का अद्यतन नहीं होता है (यानी कार्य के पास इसके साथ कोई उद्देश्य नहीं होना चाहिए, क्योंकि कोई चेकबॉक्स चेक नहीं किया गया था)।
तो मैं कैसे सुनिश्चित कर सकता हूं कि :objective_ids
परम पोस्ट में शामिल है, भले ही केवल खाली सरणी के रूप में?
धन्यवाद। एक आकर्षण काम करता है। –
यहां एक और समाधान: http://asciicasts.com/episodes/17-habtm-checkboxes –
@ जिग्नेश, यह मेरे उत्तर में है;) – cutalion