तीन विकल्प:
<td><%= l(order.ship_date, :format => :long) if order.ship_date %></td>
आप मामले में कुछ प्रदर्शित करना चाहते हैं यदि यह नहीं के बराबर है
1) सुनिश्चित करें आपके पास शून्य तिथि नहीं है। उस उत्पाद पर निर्भर करता है जिसे आप बनाने की कोशिश कर रहे हैं, लेकिन कई मामलों में यह एक शून्य तिथि प्रदर्शित करने के लिए समझ में नहीं आता है। यदि, आपके उत्पाद के लिए, शून्य तिथियां उचित हैं, तो यह काम नहीं करेगी।
2) दृश्य कोड हर जगह लिखें शून्य को छिपाने के लिए:
<%= order.ship_date ? l(order.ship_date, :format => :long) : 'Date unavailable' %>
3) एक सहायक समारोह लिखें आप के लिए यह करने के लिए:
def display_date(date, message='Date unavailable')
date ? l(date, :format => :long) : message
end
तब सभी आप प्रत्येक जगह में क्या करना है आप चाहते हैं कि यह डेट उपचार कहें:
<%= display_date(order.ship_date) %>
मेरे मामले में, मैं 'text_field' का उपयोग कर रहा हूं और असफलता ठीक काम करती है। धन्यवाद! नतीजा यह है: '<% = f.text_field: due_date,: value => (l (order.due_date) अगर order.due_date.present?)%>' –