मेरे ऐप के लिए, मेरे पास अलग-अलग साइनअप एंट्री पॉइंट हैं जो चीजों को अलग-अलग मान्य करते हैं।रेल एक अस्थायी चर सेट करने के लिए कैसे करें जो डेटाबेस फ़ील्ड नहीं है
तो मुख्य साइनअप में, ईमेल और पासवर्ड फ़ील्ड को छोड़कर कुछ भी आवश्यक नहीं है। वैकल्पिक साइनअप फ़ील्ड में, कई और आवश्यक हैं। तो उपयोगकर्ता मॉडल में मेरे पास
validate_presence_of :blah, :lah, :foo, :bah, :if => :flag_detected
def flag_detected
!self.flag.nil?
end
मैं उस ध्वज को नियंत्रक के माध्यम से सेट करना चाहता हूं। हालांकि वह ध्वज डेटाबेस फ़ील्ड नहीं है। मैं बस सोच रहा हूं कि क्या यह रेल में प्राप्त हो सकता है या इस बारे में कुछ सोचने के तरीके में कुछ गड़बड़ है? यदि हां, तो इसे प्राप्त करने का सबसे अच्छा तरीका क्या है? धन्यवाद।
"आवृत्ति चर" (एक्सेसर्स के माध्यम से खुलासा - उदाहरण के लिए 'attr' - यदि आवश्यक हो)। यह बहस के लिए है अगर यह मॉडल में ऐसा करने के लिए "अच्छा अभ्यास" है, ठीक है क्योंकि वे * जारी * मॉडल का हिस्सा नहीं हैं। हालांकि, एक नियंत्रक में, क्यों नहीं? –
मुझे केवल नियंत्रक से बुलाए गए सहेजने के लिए अस्थायी चर होने की आवश्यकता है। जब मैं नियंत्रक में @ user.flag = सत्य सेट करता हूं, तो मैं वास्तव में मॉडल में इसे वास्तव में नहीं देखता हूं। – gtr32x
तो मुझे इसके लिए एक attr_accessor परिभाषित करने की आवश्यकता है? क्या होगा अगर मेरे पास पहले से ही attr_protected है, तो फिर भी उसके आसपास है? – gtr32x