2011-11-10 22 views
12

यह सुनिश्चित करने का सबसे आसान तरीका है कि मॉडल स्ट्रिंग मानों से अग्रणी और पीछे की ओर सफेद स्थान को ट्रिम कर दें।मॉडल विशेषताओं से व्हाइटस्पेस को कैसे हटाएं?

एक असुविधाजनक तरीका पहले_सेव फ़िल्टर प्रतीत होता है - हालांकि स्ट्रिंग से सफेद स्थान को हटाने के समान सामान्य चीज़ के लिए, शायद कुछ कॉन्फ़िगरेशन है जो ऐसा करता है?

+0

मुझे किसी भी कॉन्फ़िगरेशन को दोबारा नहीं पता है, लेकिन पहले_विधीकरण हुक के मामले में आप इसे देख सकते हैं: http://stackoverflow.com/questions/4294923/rails-3-strip-whitespace-before-validation-on- सभी रूप – sparrovv

+0

एक [कार्यान्वयन यहां भी] देखें (http://railsforum.com/viewtopic.php?id=969)। – Zabba

उत्तर

9

इस कारण के लिए अंतर्निहित वैश्विक/कॉन्फ़िगरेशन सेटिंग नहीं है कि आप हमेशा ऐसा नहीं करना चाहते हैं, इसलिए किसी भी मामले में मामले के आधार पर और strip(field) के साथ पहले फ़िल्टर में यह बेहतर होता है। जैकब द्वारा विस्तृत रूप से एक मणि उपलब्ध है।

मैं उपयोगकर्ता मानों में कोई हेरफेर करते समय सावधानी बरतता हूं। एक आम सबसे अच्छा अभ्यास "जो भी" उपयोगकर्ता प्रकार, "मौसा और सब" को बचाने के लिए है (ठीक है, इस मामले में रिक्त स्थान)। फिर आवश्यकतानुसार प्रदर्शन के लिए आंतरिक रूप से उपयोग करें और प्रारूपित करें।
यहां तर्क की मुख्य पंक्ति यह है कि जब कोई उपयोगकर्ता अपनी जानकारी दोबारा संपादित करता है, तो जटिल मान्यताओं और बहुत भंगुर उपयोगकर्ता इंटरफेस होने में क्या हो सकता है, इसे पकड़ने के बजाय उन्हें 'ठीक पहले टाइप किया गया' देना बेहतर होता है।

एक और sidenote, 'डेटा उपयुक्त' फ़ील्ड का उपयोग करना सुनिश्चित करें, उदा। तारों में तारीखों को संग्रहित न करें, यह परेशानी के लिए पूछ रहा है।

2

मेरे पास सिर्फ एक फ़िल्टर होगा जो उन्हें ट्रिम करने के लिए सभी पैराम के माध्यम से सत्यापन और आंसुओं से पहले चलता है। यदि आप इसे अपने बेस कंट्रोलर क्लास पर रखते हैं, तो आप इसे सेट करें और इसे भूल जाएं।

2

दरअसल, यह मुझे एक छोटे से भी नाराज - तो मैं अपने Gemfile में लिखा था इस

https://github.com/omarqureshi/AR-stripper

अभी या बाद में एक रत्न के रूप में इस प्रकाशित करेंगे लेकिन इस दौरान सिर्फ

gem 'stripper', :git => "[email protected]:omarqureshi/AR-stripper.git" 

0

तुम भी एक रत्न का उपयोग किए बिना खाली स्थान के कपड़े उतारने को एक कॉलबैक इस्तेमाल कर सकते हैं।