Tôi có params[:month,:day,:year]
và tôi cần chuyển đổi chúng thành một DateTime
mà tôi có thể đặt trong đầu vào bị ẩn.Tạo ngày giờ trong Rails bằng tháng, ngày và năm
Cách tốt nhất để thực hiện điều này trong Rails 3 là gì?
Tôi có params[:month,:day,:year]
và tôi cần chuyển đổi chúng thành một DateTime
mà tôi có thể đặt trong đầu vào bị ẩn.Tạo ngày giờ trong Rails bằng tháng, ngày và năm
Cách tốt nhất để thực hiện điều này trong Rails 3 là gì?
Bạn có thể làm
DateTime.new(params[:year], params[:month], params[:day])
Sử dụng DateTime.civil
:
require 'date'
date = DateTime.civil(*params.values_at(:year, :month, :day))
Xin lỗi. Tôi là một noob hoàn chỉnh. Tôi sẽ đặt yêu cầu ở đầu bộ điều khiển của tôi hoặc trong phương pháp? – bjork24
+1 để sử dụng phương thức values_at được đánh giá cao. –
Thật vậy. Điều này làm việc mà không có tuyên bố yêu cầu. Cảm ơn bạn! – bjork24
Tôi nghĩ rằng tất cả chúng phải được chuyển đổi thành số nguyên! Bởi vì DateTime.new chỉ làm việc với các số nguyên, không phải là chuỗi. thông số [: năm] .to_i v.v. – msdundar