2011-08-22 38 views
11

Tôi muốn thay đổi định dạng ngày mặc định trong Rails. Định dạng phải là y/m/d. Tôi thêm mã sau vào môi trường của tôi.rbthay đổi định dạng ngày mặc định bằng ruby ​​trên đường ray?

ActiveSupport::CoreExtensions::Date::Conversions::DATE_FORMATS. 
merge!(:default => '%Y/%m/%d') 

Nhưng nó không hoạt động. Làm cách nào để thay đổi định dạng mặc định? Tôi sử dụng đường ray 2.3.8 phiên bản

+0

Dưới đây là trả lời http://stackoverflow.com/questions/3694352/rails-3-default-datetime-format-without-utc . Nhìn vào jankubr bài –

Trả lời

19

Thêm một tập tin vào config/initializers với đoạn mã sau:

Date::DATE_FORMATS[:default]="%Y/%m/%d" 
Time::DATE_FORMATS[:default]="%Y/%m/%d %H:%M" 
+1

Lưu ý, một số bài viết ở đâu đó gợi ý rằng việc gây rối với các cài đặt này sẽ ảnh hưởng đến những gì được lưu trữ trong cơ sở dữ liệu; trong khi nó có thể đúng trong các phiên bản trước của Rails, là 3.2, có vẻ như OK. –

+0

Lưu ý: điều này cũng có thể được thực hiện trong before_filter trong bộ điều khiển nếu bạn cho phép người dùng của bạn chọn định dạng ngày và giờ của riêng họ. – UrLicht

+0

Lưu ý rằng kể từ Ruby 1.9, dateformat ruby ​​là '% d /% m /% Y' và cần được thay đổi để chúng hoạt động đầy đủ – toobulkeh

0

Đặt tệp đó vào một tệp trong cấu hình/trình khởi tạo và thao tác đó sẽ hoạt động.

+1

vẫn không hoạt động ... tôi thêm một tập tin trong config/initializers và đặt mã đó. – Rosh

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