如何使用find_by或rails中的数据获取数据?

时间:2016-09-06 06:10:36

标签: ruby-on-rails

Truck 
  id: 1,
  vehicle_registration_number: "TN38CC6077",
  chassis_number: "12345",
  created_at: "2016-09-06 05:39:19",
  updated_at: "2016-09-06 05:39:19",
  company_truck_type_id: 1,
  location_id: 492,
  available_date: ["2016-09-10",
  "2016-09-20"],
  booked_status: "Available",
  active: true,
  manager_id: 3,
  loading_supervisor_id: 3,
  transport_supervisor_id: 3,
  user_id: 3,
  status: "just_in",
  price: #<BigDecimal:afae0204,'0.109E5',9(18)>, 
  source_id: 492, 
  destination_id: 3, 
  notes: ["HelloWorld"]

这是我在表格中的数据。从这里开始,我使用available_date来查找当前数据,但它无法正常工作。我如何根据当前日期获得?

@truck[0].where(available_date:["2016-09-10"]["2016-09-20"])

它无法正常工作。我想检查current date是否介于available_date之间?

2 个答案:

答案 0 :(得分:1)

您可以执行以下操作:

Truck.where(available_date: (Time.now.midnight - 1.day)..Time.now.midnight)

希望对你有所帮助。

答案 1 :(得分:0)

试试这段代码片段;

def current_date_is_available?(available_date)
 current_date = Date.parse(Time.now.to_s)
 Date.parse(available_date.first) < current_date && current_date < Date.parse(available_date.second)
end
控制器中的

;

if current_date_is_available?(@truck[0].available_date)
    # do whatever you want
end