2009-02-03 15 views
8

मेरे पास ऐसा कोई मामला है जहां मुझे कुछ ठीक से वर्तनी करने के लिए बहुवचन का उपयोग करने की आवश्यकता है। हालांकि, मैं तो जैसे एचटीएमएल रेंडर करने के लिए की जरूरत है:स्वरूपित बहुवचन

<span>1</span> thing 

या,

<span>3</span> things 

मैं एक सहायक विधि लिख सकता है, लेकिन मैं सिर्फ यकीन है कि वहाँ बॉक्स में कुछ करने के लिए नहीं है बना रही हूँ यह करो।

+1

जबकि मैंने पिछले कुछ वर्षों में इस तरह की चीज पर परेशान किया है, मुझे विश्वास है कि संदर्भ संवेदनशील बहुलकरण खत्म हो गया है। जब तक कि आप सचमुच गद्य उत्पन्न नहीं कर रहे हैं, मुझे "1 चीजें" या "1 चीज़" पूरी तरह स्वीकार्य है। –

+1

विस्तार मामलों पर ध्यान दें। –

उत्तर

4

अंतरिम में, मैं इस सहायक विधि बना लिया है, क्योंकि ऐसा लगता है वहाँ नहीं है जैसे मैं के लिए क्या देख रहा हूँ:

def pluralize_word(count, singular, plural = nil) 
    ((count == 1 || count == '1') ? singular : (plural || singular.pluralize)) 
end 

यह अनिवार्य रूप से pluralize विधि के समान है सिवाय कि यह सामने से संख्या हटा देता है। यह मुझे ऐसा करने की अनुमति देता है (हैमल):

%span.label= things.size.to_s 
%description= pluralize_word(things.size, 'thing') 
6

यह रेल वर्ग TextHelper का उपयोग करता है जो आवश्यक होने पर बहुवचनीकरण करने के लिए Inflector का उपयोग करता है।

def pluralize_with_html(count, word) 
    "<span>#{count}</span> #{TextHelper.pluralize(count, word)}" 
end 
+0

यह निश्चित रूप से मैंने जो पूछा है उसके आधार पर काम करता है, लेकिन मुझे लगता है कि मैंने पोस्ट की गई सहायक विधि सामान्य रूप से डिजाइनर को अधिक लचीलापन प्रदान करती है। धन्यवाद! –

+0

मुझे उस टिप्पणी पर यागनी का आह्वान करना होगा और यदि आपको कोई अन्य उपयोग मिल जाए तो रिफैक्टर से कहें। – Lolindrath

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