का उपयोग कर मौजूदा मॉडल के साथ एक नया मॉडल कैसे संबद्ध करें has_and_belongs_to_many
का उपयोग करके मेरे पास कई मॉडल के साथ दो मॉडल हैं। इसलिए जैसा:has_and_belongs_to_many
class Competition < ActiveRecord::Base
has_and_belongs_to_many :teams
accepts_nested_attributes_for :teams
end
class Team < ActiveRecord::Base
has_and_belongs_to_many :competitions
accepts_nested_attributes_for :competitions
end
अगर हम मान लेते हैं कि मैं पहले से ही डेटाबेस में कई प्रतियोगिताएं बनाया है, जब मैं एक नई टीम बनाएं, मैं एक नेस्टेड फार्म का उपयोग करने के लिए किसी भी प्रासंगिक प्रतियोगिताएं के साथ नए टीम संबद्ध करना चाहते हैं।
यह इस बिंदु पर है कि मुझे वास्तव में मदद की ज़रूरत है (इस पर घंटों तक फंस गया है!) और मुझे लगता है कि मेरा मौजूदा कोड पहले से ही गलत तरीके से चला गया है, लेकिन मैं इसे केवल इस मामले में दिखाऊंगा:
class TeamsController < ApplicationController
def new
@team = Team.new
@competitions.all
@competitions.size.times {@team.competitions.build}
end
def create
@team = Team.new params[:team]
if @team.save
# .. usual if logic on save
end
end
end
और दृश्य ... यह वह जगह है जहां मैं वास्तव में अटक गया हूं इसलिए मैं अब तक अपने प्रयासों को पोस्ट नहीं करूँगा। मैं इसे प्रत्येक प्रतिस्पर्धा के लिए चेकबॉक्स की एक सूची चाहता हूं ताकि उपयोगकर्ता यह चुन सकें कि कौन सी प्रतियोगिताओं उपयुक्त हैं, और उन लोगों को अनचेक छोड़ दें जो नहीं हैं।
मैं वास्तव में अटक कर रहा हूँ के साथ इस एक तो सही दिशा में किसी भी इशारा प्रदान कर सकते हैं :) सराहना
आपके उत्तर के लिए धन्यवाद (और जवाब देने के लिए कुछ दिन लेने के लिए अपॉजिज)। आप समाधान अच्छी तरह से काम करता है, हालांकि यह फ़ॉर्म बनाने के लिए काम करने के लिए मुझे थोड़ी देर लग गई। इस पर किसी और के लाभ के लिए टीम फॉर्म उत्पन्न होता है, जबकि प्रतियोगिताओं के भाग के लिए मैंने मैन्युअल रूप से चेकबॉक्स बनाए हैं: <% = check_box_tag "टीम [प्रतियोगिताओं] []", प्रतियोगिता। आईडी, @ team.competitions.include? (प्रतियोगिता),: id => "team_competitions _ # {contest.id}"%> – aaronrussell