एक लंबे समय के जावा डेवलपर - ROR करने के लिए नए - मैं रेल 4 में एक JSON REST API का निर्माण कर रहा हूँ, और मैं मजबूत मानकों का प्रयोग करके समस्या आ जाती है। जब मैं अपने अंतिम बिंदु से एक के लिए एक HTTP पोस्ट अनुरोध करते हैं, मैं अगर कुछ अन्य विशेषताओं मौजूद हैं मेरी नियंत्रक मुख्य उद्देश्य की आवश्यकता के लिए के लिए चाहते हैं, उसके गुण से कुछ की आवश्यकता होती है, और, यह भी उन पर लौटने के लिए के लिए। उन आवश्यकताओं और परमिट विधियों को वापस लौटने के रूप में देखकर, मैं सोच रहा हूं कि एक ही ऑब्जेक्ट के कुछ विशेषताओं को अनुमति देने और आवश्यक दोनों के लिए सबसे अच्छा अभ्यास क्या है। क्या मुझे शायद दो हैंश मर्ज करना चाहिए? आपके इनपुट के लिए बहुत बहुत धन्यवाद, क्योंकि मैंने इस मुद्दे पर काफी समय बिताया है।रेल 4 आवश्यकता होती है और परमिट एकाधिक
उत्तर
मेरे सबसे अच्छे ज्ञान के लिए, मुझे लगता है कि जाने का तरीका यह है कि आप केवल अपने नियंत्रक में पैरामीटर की अनुमति देते हैं, और फिर आप पैरामीटर पर सीधे नियंत्रक के बजाय अपने मॉडल में विशेषता-सत्यापन निष्पादित करते हैं।
मजबूत मापदंडों सुरक्षित करने के लिए, कि कुछ बीमार इच्छित व्यक्ति अपने उपयोगकर्ता के रूप हैक नहीं है और इस तरह के "भूमिका = व्यवस्थापक" कुछ डालने केवल देखते हैं।
जहां तक मुझे पता है, मजबूत पैरामीटर कार्यक्षमता वास्तव में कुछ मानकों को विशेषताओं की हैश की विशेषता वाले एकल कुंजी के अलावा मौजूद नहीं है (जैसे मॉडल-कुंजी जिसे उपयोगकर्ता या इसी तरह कहा जाता है)।
आप इस तरह अपने मॉडल में सत्यापन कर सकते हैं:
class User < ActiveRecord::Base
validates :email, :first_name, :last_name, presence: true
end
आप simple_form की तरह कुछ का उपयोग करते हैं, तो त्रुटियों भी स्वचालित रूप से दिखाया जाएगा।
एक आदमी यहाँ, जो एक से अधिक का सुझाव नहीं है वास्तविक अनुमति देने से पहले की आवश्यकता है। मेरे व्यक्तिगत राय है कि यह बहुत बदसूरत है।
Strong parameters require multiple
def user_params
params.require(:user).require(:first_name)
params.require(:user).require(:last_name)
params.require(:user).permit(:first_name, :last_name)
end
- 1. रेल 4 नियंत्रक टेस्ट "अपरिभाषित विधि परमिट"
- 2. कैरियरवेव, रेल 4, और एकाधिक अपलोड
- 3. रेल 4 टर्बोलिंक एकाधिक बाइंडिंग
- 4. आवश्यकता होती है() जावास्क्रिप्ट
- 5. रेल 4 सिंटेक्स - एकाधिक शर्तें
- 6. की आवश्यकता होती है browserify
- 7. समस्या की आवश्यकता होती है रेल में रैक/openid 3 [मूल की आवश्यकता होती है ठीक से काम]
- 8. डब्लूएफ 4 में एकाधिक प्राप्त गतिविधियां विफल होती हैं जब दृढ़ता सक्षम होती है
- 9. रेल 4 और एक्शनकेबल
- 10. रेल 4 - डेविस ओमनिथ (एकाधिक रणनीतियों)
- 11. रेल एप्लिकेशन: आवश्यकता बूटस्ट्रैप बनाम बूटस्ट्रैप-sprockets की आवश्यकता होती है
- 12. जावास्क्रिप्ट की आवश्यकता होती है() फ़ंक्शन देने ReferenceError: की आवश्यकता होती है परिभाषित नहीं है
- 13. की आवश्यकता होती है परिभाषित नहीं है
- 14. रेल 4 - request.original_fullpath और request.fullpath
- 15. क्यों एनएस में की आवश्यकता होती है समारोह की आवश्यकता होती है
- 16. पीएचपी - सापेक्ष पथ "की आवश्यकता होती है"
- 17. LuaJIT मॉड्यूल त्रुटि की आवश्यकता होती है
- 18. आदेश की आवश्यकता होती है Snow Leopard
- 19. क्यों 'की आवश्यकता होती है' चाहिए पैकेज
- 20. लेज़ी की आवश्यकता होती है "इस"
- 21. sun-jaxws.xml - इसकी आवश्यकता कब होती है और कब नहीं?
- 22. की आवश्यकता होती है एक बार प्रतिक्रिया
- 23. स्काला की आवश्यकता होती है() Kotlin
- 24. एनएससीपीइंग की आवश्यकता कब होती है?
- 25. रेल में, create_at द्वारा ऑर्डर करने से इंडेक्स की आवश्यकता होती है?
- 26. रेल 4 और Nginx + यात्री
- 27. जब हमें एक से अधिक EntityManager की आवश्यकता होती है?
- 28. Uncaught ReferenceError: की आवश्यकता होती है परिभाषित नहीं है - Chart.js
- 29. रेल 4 - रेल
- 30. क्या गेटर फ़ंक्शन को म्यूटेक्स की आवश्यकता होती है?
हैं- धन्यवाद मैं के लिए उपयोगी था! – svarlamov