2012-12-28 7 views
8

मैं उपयोगकर्ताओं को text_area फ़ॉर्म फ़ील्ड में बहु-पंक्ति टेक्स्ट इनपुट करने की अनुमति देने के बारे में कैसे जाउंगा?मैं रेल-पाठ text_area फ़ील्ड में बहु-पंक्ति सामग्री को कैसे अनुमति दूं?

वर्तमान में किसी भी समय सामग्री text area में दर्ज की गई है, तो लाइन ब्रेक हटा दिए जाते हैं ... जब मैं सामग्री संपादित करता हूं तब उन्हें बनाए रखा जाता है ... तो, शायद यह शो में है कि ब्रेक हटा दिए जा रहे हैं?

मुझे कुछ चीजें मिली हैं जो इंगित करती हैं कि मुझे WYSIWYG संपादक को लागू करने की आवश्यकता होगी, लेकिन यदि संभव हो तो मैं इससे बचना पसंद करूंगा।

कोई सुझाव?

अद्यतन: तो, यह पटरियों की तरह लग रहा लाइन टूट के साथ सामग्री बचाता है, और मैं इस शो दृश्य (यानी <%= @post.post.html_safe %>) में क्षेत्र के लिए .html_safe जोड़ सकते हैं। अब यह मूल एचटीएमएल (उदाहरण के लिए <br>, <b>, इत्यादि) के साथ सामग्री प्रस्तुत करेगा ... लेकिन फिर भी सामग्री में लाइन ब्रेक प्रस्तुत नहीं करता है (यानी जब मैं एक नई लाइन के लिए एंटर दबाता हूं) जो रेल द्वारा सहेजे जाते हैं और मैं कर सकता हूं देखें कि जब मैं सामग्री संपादित कर रहा हूं।

+0

एक पाठ क्षेत्र में कुछ भी नहीं विशेष रेल है। एचटीएमएल एचटीएमएल – apneadiving

उत्तर

11

HTML में लाइनब्रैक प्रस्तुत नहीं किए जाते हैं। आप अपनी सामग्री पर simple_format या wraptext जैसे कुछ उपयोग करना चाहेंगे क्योंकि आप न्यूलाइन को <br> या <p> टैग में कनवर्ट करने के लिए इसे प्रतिबिंबित करते हैं।

<%=simple_format(@post.post).html_safe %> 

या

<%=Wraptext::Parser.new(@post.post).to_html.html_safe %> 
+0

ठीक है, मैं इसे देख लूंगा ... धन्यवाद क्रिस! –

+0

'simple_format' में डिफ़ॉल्ट रूप से सक्षम 'sanitize' है, इसलिए' .html_safe' अनावश्यक है। –

+0

ग्रेट, 'simple_format' और' html_safe' ठीक वही है जो मैं ढूंढ रहा हूं, धन्यवाद क्रिस। – mainframer

संबंधित मुद्दे