मैं पहले has_and_belongs_to_many का उपयोग कर रहा था, और has_many में बदल गया है: के माध्यम से। यहां बताया गया है कि यह गेम की एक सूची की तलाश कैसे करता है जिसमें कई उपयोगकर्ता खेल सकते हैं। इस के साथ, मैं game.users और user.games कर सकते हैं ....:has_many: प्रश्नों के माध्यम से
class Game < ActiveRecord::Base
has_many :game_users, :dependent => :destroy
has_many :users, :through => :game_users, :uniq => true
end
class User < ActiveRecord::Base
has_many :game_users, :dependent => :destroy
has_many :games, :through => :game_users, :uniq => true
end
class GameUser < ActiveRecord::Base
belongs_to :game
belongs_to :user
end
और में शामिल होने तालिका के लिए अपने डेटाबेस माइग्रेशन:
create_table :game_users, :id => false do |t|
t.column :game_id, :integer
t.column :user_id, :integer
t.column :player_index, :integer
end
मैं नहीं कर रहा हूँ काफी यकीन है कि मैं सब मिल यह, कृपया मुझे अपने तथ्यों की जांच करने में मदद करें:
निर्भर है =>: सही नष्ट करें? मैं चाहता हूं कि गेम गेम या उपयोगकर्ता नष्ट हो जाने पर 'game_users' तालिका प्रविष्टि को हटाया जाए - लेकिन मैं नहीं चाहता कि उपयोगकर्ता हटाए जाएं और गेम इसके विपरीत .....?
यूनिक फ़ील्ड कहता है कि गेम में केवल अद्वितीय उपयोगकर्ता होते हैं, और उपयोगकर्ताओं में केवल अद्वितीय गेम होते हैं। क्या वो सही है?
डेटाबेस माइग्रेशन पहले जैसा है: id => false। क्या यह अभी भी सही काम है? मैंने कंसोल में एक गेम को नष्ट करने की कोशिश की, और लापता आईडी के बारे में शिकायतें मिलीं ... इसलिए मैं अनुमान लगा रहा हूं और समझने की कोशिश क्यों कर रहा हूं।
मुझे रेल सक्रिय सक्रिय संघों को बहुत भ्रमित लगता है। मुझे लगता है कि वे नहीं होना चाहिए!
आपका उपयोग: निर्भर =>: नष्ट सही है। –