2010-10-04 10 views
9

जितना मुझे रेल पसंद है, मैंने हमेशा एक HTML फॉर्म में तारीखों से निपटने से नफरत की है ... खासकर जब तिथि किसी ऑब्जेक्ट की संपत्ति नहीं है।रेल का चयन_डेट फॉर्म नाम

select_date सहायक अच्छा है, लेकिन यह हमेशा इस उत्पन्न करता है:

<select name="date[year]" id="date_year"> 
<select name="date[month]" id="date_month"> 
<select name="date[day]" id="date_day"> 

और मैं कुछ और करने के लिए "तिथि" से नाम उपसर्ग को बदलने के तरीके को समझ नहीं सकता। क्या इसे करने का कोई तरीका है? जब आप ऑब्जेक्ट प्रॉपर्टी नहीं होते हैं तो आप सभी डेट इनपुट के लिए क्या उपयोग करते हैं?

उत्तर

16

आप इसका उपयोग करने के लिए उपसर्ग विकल्प का उपयोग कर सकते हैं।

<%= select_date(nil, :prefix => 'payday') %> 

कौन इस उत्पन्न करता है:

<select id="payday_year" name="payday[year]"> 
<select id="payday_month" name="payday[month]"> 
<select id="payday_day" name="payday[day]"> 

अधिक उदाहरण यहाँ

http://api.rubyonrails.org/classes/ActionView/Helpers/DateHelper.html#method-i-select_date

1

यदि यह कोई ऑब्जेक्ट प्रॉपर्टी नहीं है, तो क्या आप रेलवे डेट हेल्पर्स का उपयोग कर रहे हैं? आप शायद बेहतर कर सकते हैं।

मेरे पास बस एक साधारण टेक्स्टफील्ड होगा, और इसे दिनांक के रूप में सजाने के लिए jquery का उपयोग करें .. this jQuery date drop-down देखें।

फिर आप इसे नियंत्रक में एक तिथि के रूप में पार्स करेंगे और जो भी आपको चाहिए उसे करें। यह सिर्फ पैरा होगा [: super_cool_date] (या जो कुछ भी)

+0

मुझे लगता है कि ... समस्या मैं मोडल विंडो (facebox) और का उपयोग कर रहा है पर विचार किया है इसमें उपयोग करने वाले दिनांक पिकर के साथ समस्याएं हो रही हैं। – tybro0103