देखने और नियंत्रक के लिए यह कोड मिला:
# matches / show.html.haml % H3 खिलाड़ी-@clans.each करो | कबीले | % H4 = link_to clan.name, कबीले% ul -@players.find_all_by_clan_id (clan.id) .each do | खिलाड़ी | % Li% strong = link_to player.name, खिलाड़ी% h3-@rounds.each_with_index do | round, index | % H4 गोल = सूचकांक + 1-@clans.each करो | कबीले | % H4 = कबीले.नाव% ul-round.participations.includes (: खिलाड़ी, चैंपियन) .find_all_by_clan_id (clan.id) .each करो | भागीदारी | % Li = participat.player.name = participation.champion.name # matches_controller.rb क्लास MatchesController & lt; ApplicationController def अनुक्रमणिका @matches = Match.played.includes (: clans)। पेज (पाराम [: पेज]) अंत डीईफ़ शो @ मिल = मैचइनमें शामिल हैं (: राउंड,: क्लेशन) .फंड (पाराम [: आईडी]) @ Clans = @ match.clans @rounds = @ match.rounds @players = @ match.players अंत का अंत कैसे मैं सभी अनावश्यक डीबी प्रश्नों, तर्क आदि को नियंत्रक से देख सकता हूँ?
हो सकता है कि यह किसी भी तरह से सरल हो?
नियंत्रक को नहीं, मिलान मॉडल पर ले जाएं। आपके नियंत्रक में आमतौर पर केवल रूटिंग लॉजिक और दृश्य में उपयोग करने के लिए एक उदाहरण चर सेट होना चाहिए। कोड का थोक मॉडल में जाना चाहिए। स्कीनी नियंत्रकों, वसा मॉडल।
scopes पर पढ़ें:
इसके अलावा, यह लेख 2006 (पूर्व scopes) से है, लेकिन इसके अधिकांश अभी भी आपके प्रश्न से प्रासंगिक है :
आपको वास्तव में कुलों, दौर और खिलाड़ियों के लिए उदाहरण चर सेट करने की आवश्यकता नहीं है। आप इन सीधे स्थितियों से सीधे इन पर पहुंच सकते हैं - जहां आप एक संबद्ध संग्रह के माध्यम से चल रहे हैं। उदाहरण के लिए:
- @ match.clans.each do | कबीले | अन्यथा, एक गुंजाइश का उपयोग करें, अगर यह एक साधारण से है, तो उसके पास कुछ जटिल है / मैनेजमेंट / एसोसिएशन एसोसिएशन।
Comments
Post a Comment