मैं क्षमता वर्ग में अपने कुछ कस्टम कैनकन कार्यों को बदल रहा हूं ताकि केवल एक हैश की बजाय ब्लॉक का उपयोग किया जा सके लेकिन अब वे वास्तव में पहुंच प्रतिबंधित कर चुके हैं। अजीब चीज यह है कि निर्मित कार्यों जैसे: प्रबंधन और: बनाना, इत्यादि अभी भी ब्लॉक के साथ ठीक काम कर रहे हैं।कैनकन कस्टम क्रियाएं ब्लॉक के साथ काम नहीं कर रही हैं
पुराने
# this one works
can :share, Project, :user_id => user.id
नई
# this one doesn't work
can :share, Project do |project|
project.users.exists?(user)
end
किसी को भी करने से पहले इस मुद्दे में चलाने:
यह एक उदाहरण है?
मेरा विश्वास करो, मैं ब्लॉक का उपयोग नहीं करना चाहता लेकिन ऐसा लगता है कि यह मेरे मामले में ऐसा करने का एकमात्र तरीका है। मैं प्रोजेक्ट्स और उपयोगकर्ताओं के बीच कई से कई रिश्तों में चले गए हैं, इसलिए अब मुझे एक परियोजना पर सभी उपयोगकर्ताओं को जांचना होगा, न केवल एक। – Matt
हम्म, डीबगर का उपयोग करने का प्रयास करें और देखें कि क्षमता के लिए जांच करते समय कैनकन में क्या होता है। या अपने फाइल सिस्टम पर कैनकन मणि की फाइलें खोलें और संपादित करें और देखें कि डंपिंग चर द्वारा क्या पारित किया जाता है। इस तरह मैं पथ पर रहता हूं जब मैं किसी और चीज के बारे में सोच नहीं सकता। बेशक फ़ाइलों को वापस लाएं;) – Mirko