2009-02-18 36 views
10

Khi sử dụng <% = f.datetime_select: bắt đầu%> cho biểu mẫu đối tượng "mới", làm cách nào bạn có thể đặt tùy chọn không chọn ngày theo mặc định mà thay vào đó là giá trị nil/null? Trường trong mô hình liên quan có thể tùy ý là null nhưng theo mặc định, điều khiển datetime_select không có tùy chọn null.Giá trị Nil trên datetime_select?

Trả lời

27

Tôi nghĩ rằng bạn muốn:

f.datetime_select :start, :include_blank => true

Khi start là con số không, các trường sẽ chọn tùy chọn trống. Điều này cũng cho phép người dùng không nhập ngày.

Xem the documentation for date_select để biết chi tiết.

+0

ah, vâng, điều này tốt hơn nhiều. cảm ơn Luke. –

+0

vẫn còn tốt cho đường ray 4.2.4! –

0

Bạn sẽ muốn sử dụng tùy chọn nhắc:.

từ các tài liệu Rails:

# Generates a datetime select with a custom prompt. Use :prompt=>true for generic prompts. 
    datetime_select("post", "written_on", :prompt => {:day => 'Choose day', :month => 'Choose month', :year => 'Choose year'}) 
    datetime_select("post", "written_on", :prompt => {:hour => true}) # generic prompt for hours 
    datetime_select("post", "written_on", :prompt => true) # generic prompts for all 
+0

Mở rộng mẫu có vẻ không hoạt động. <% = f.datetime_select: start,: prompt => {: day => 'Chọn ngày',: tháng => 'Chọn tháng',: năm => 'Chọn năm'}%> Có lỗi cú pháp hay không đây? –

+0

Bạn có thể sử dụng trình trợ giúp vanilla: <% = datetime_select: my_object,: start,: prompt => {: day => 'Chọn ngày',: tháng => 'Chọn tháng',: năm => 'Chọn năm'} %> –

Các vấn đề liên quan