मैं दोनों स्थान और श्रेणी एक निश्चित अभियान के बाद मॉडल संघों के साथ करने के लिए स्थापित किया गया है संभाल करने के लिए एक मेज बनाने का प्रयास कर रहा हूँ:डेटा मॉडलिंग 3 रास्ता टेबल has_many संघ
class Campaign < ActiveRecord::Base
has_many :campaign_category_metro_bids, dependent: :destroy
has_many :metros, through: :campaign_category_metro_bids
has_many :categories, through: :campaign_category_metro_bids
end
class Metro < ActiveRecord::Base
has_many :campaign_category_metro_bids
has_many :campaigns, through: :campaign_category_metro_bids
has_many :categories, through: :campaign_category_metro_bids
end
class Category < ActiveRecord::Base
has_many :campaign_category_metro_bids
has_many :campaigns, through: :campaign_category_metro_bids
has_many :metros, through: :campaign_category_metro_bids
end
class CampaignCategoryMetroBid < ActiveRecord::Base
belongs_to :campaign
belongs_to :category
belongs_to :metro
end
किसी अभियान बनाने के प्रयास
अभियान निर्माण कोड:
012 दो अलग-अलग शहरों और श्रेणियों का चयन करने के लिए परिणाम के रूप में दिए गए पैरामीटर में से एक की पहचान के लिए शून्य हैdef new
if signed_in?
# create new campaign
@user = User.find(params[:id])
@campaign = @user.campaigns.new
else
redirect_to signin_path
end
end
def create
@campaign = User.find(params["campaign"]["user_id"]).campaigns.build(campaign_params)
if @campaign.save
flash[:success] = "Campaign created!"
redirect_to current_user
else
render 'new'
end
end
अभियान बनाने के लिए अद्यतन दृश्य श्रेणी और मेट्रो के रूप में के लिए दो अलग-अलग collection_select उपयोग करता है:
<%= f.collection_select :category_ids, Category.all, :id, :display_category, {}, {multiple: true} %>
और
<%= f.collection_select :metro_ids, Metro.all, :id, :full_name, {}, {multiple: true} %>
campaigns_params:
def campaign_params
params.require(:campaign).permit(:name, :campaign_category_metro_bid_id,
:metro_ids => [], :category_ids => [])
end
क्या मैं कोशिश कर रहा हूं कि एक 3 टेबल संबंध बनाने के लिए अनुमति देने का एक बेहतर तरीका है? या चयन पर Category
और Metro
मॉडल से जोड़ने के लिए इतना है कि उसके एवज में नीचे दी गई तालिका की तरह कुछ अभियान निर्माण पर है एक तरह से:
@AlexisRabagoCarvajal अभी तक कोई जवाब नहीं है। मैंने अधिक स्पष्टीकरण – Sauron
के लिए अनुमति देने के लिए ** अपडेट किया गया ** जोड़ा है आपका सेटअप मुझे ठीक लग रहा है। मुझे पता है कि यह पुराना है, लेकिन ऊपर दिए गए कोड के बारे में आप क्या समस्या पूछ रहे हैं? – eirikir
क्या आप कुछ और समझा सकते हैं जो आप पूरा करने की कोशिश कर रहे हैं? विशेष रूप से, मुझे ऐसा लगता है कि श्रेणियां केवल एक अभियान द्वारा महानगर से संबंधित हैं - क्या यह सही है? – Julie