में एक फ़ील्ड में परिवर्तन को रोकें मेरे पास दो संबंधित मॉडल हैं - मान लें Activity
और Step
। Activity has_many :steps
और Step belongs_to :activity
जिसका अर्थ है steps
के लिए तालिका activity_id
कॉलम है।रेल मॉडल
यह होबो 1.3 में है, इसलिए रेल 3.0।
क्या मैं चाहता हूँ यह सुनिश्चित करें कि के बाद Step
निर्माण यह एक और Activity
करने के लिए एक कदम ले जाना संभव नहीं है। हम activity_id
फ़ील्ड को बदलने के लिए नहीं चाहते हैं।
मैंने संपादन फ़ॉर्म से फ़ील्ड को हटा दिया है, लेकिन मैं एक मजबूत बाधा की तलाश में हूं। अनिवार्य रूप से मैं update
(create
पर नहीं) पर सत्यापन करना चाहता हूं कि कॉलम को छुआ नहीं जा रहा है। होब्स का प्रलेखन Hobo के अंदर इस तरह के किसी भी प्रकार का सुझाव नहीं देता है, इसलिए मैं Rails validations पर देख रहा हूं, लेकिन अब तक मुझे "केवल अपडेट पर यह नहीं करना" बाधा नहीं मिली है, न ही यह मान्य है कि कुछ नहीं है बदल रहा है।
'attr_readonly' विज्ञापित के रूप में काम करता है, बी एप के एक और पहलू के साथ एक झुर्रियां हो सकती है। मैं कल सत्यापन दृष्टिकोण का प्रयास करूंगा और देख सकता हूं कि यह बेहतर है या नहीं। – pjmorse
यदि आपको वास्तव में अपने एप्लिकेशन में कहीं और आईडी बदलने की आवश्यकता है, तो आप इसे निम्न के साथ सत्यापन दृष्टिकोण के साथ भी कर सकते हैं: 'step.save (: validate => false)' – Deradon
यह कहीं और कोई परिवर्तन समस्या नहीं है; यह एक वस्तु प्रति है। (इसलिए, हम कहते हैं कि हमने 'गतिविधि' की प्रतिलिपि बनाई है जिस तरह से सभी 'चरणों' की प्रतिलिपि बनाई गई है; किसी कारण से काम नहीं कर रहा है, और मैंने अभी तक कॉपी कोड में पर्याप्त रूप से पर्याप्त रूप से पर्याप्त रूप से इतना नहीं बताया है कि यह परिवर्तन टूट गया है या नहीं ।) – pjmorse