Tôi cần hiển thị ngày ở định dạng được bản địa hóa. tức là 12/31/2013Rails 3, Chỉ xem định dạng ngày?
Vì vậy, tôi thiết lập các định dạng ngày mặc định sang định dạng mà trong config/initializers/datetime_formats.rb
Date::DATE_FORMATS[:default]="%m/%d/%Y"
Time::DATE_FORMATS[:default]="%m/%d/%Y %H:%M"
Tuy nhiên, kiểm tra của tôi thất bại trong kiểm tra đơn vị vì một số tìm kiếm được dựa trên Định dạng ngày tháng. Ví dụ:
>> User.find_by_created_at("#{DateTime.now}")
User Load (2.7ms) SELECT `users`.* FROM `users`
WHERE `users`.`created_at` = '02/04/2013 14:43' LIMIT 1
Tất nhiên, tôi có thể thay đổi tất cả các kiểu để sử dụng tìm kiếm ngày hoặc giờ để thay thế chuỗi. Nhưng, tôi đã tò mò nếu chúng ta có thể áp dụng định dạng ngày chỉ xem hoặc định dạng thời gian chỉ xem hoặc không.
Có cách nào để áp dụng định dạng ngày (hoặc giờ) chỉ xem không?
----- chỉnh sửa -----
Tôi đã có phương thức tùy chỉnh l_or_none cho các chế độ xem có xử lý ngoại lệ.
def l_or_none(object)
l(object) rescue ''
end
Tôi chỉ không muốn lặp lại phương pháp này trên tất cả các quan điểm, và tìm kiếm một cách, "nếu ngày # to_s được gọi là theo quan điểm, định dạng theo cách này", mà không sử dụng phương pháp riêng của tôi.
Tại sao chúng ta không có khái niệm như thế này?
"Nếu đối tượng này được sử dụng theo quan điểm, phương pháp ghi đè theo cách này"
Bạn có thể thêm một số phương pháp theo quan điểm của bạn để hiển thị định dạng cục bộ của bạn mà không cần chạm initializers của bạn. Có phải đó là những gì bạn cần? – Vinay