-1

我有一个循环 days.this 的代码来制作树叶。我希望出勤时的列登录和注销将在开始日期开始并在结束日期结束时自动填充。

exp I input :
startdate: 2012-11-08 01:30:00
enddate: 2012-11-10 01:30:00
i want output like this: 

2012-11-08 01:30:00
2012-11-09 01:30:00
2012-11-010 01:30:00

 for i in 0..((@leafe.enddate - @leafe.startdate).to_i)
                 @attendance = Attendance.new

                 @attendance.signin = '2012-11-08 01:30:00' #value must chang automatically
                 @attendance.signout = '2012-11-08 10:30:00'#value must chang automatically
                 @attendance.user_id = @leafe.user_id
                 @attendance.save
            end

谢谢之前

4

2 回答 2

0

如果 startdate 是 Date 类型,为什么不这样做,

@attendance.signin = @leafe.startdate+i
@attendance.signout = @leafe.startdate+i
于 2012-11-08T07:31:37.560 回答
0

为什么你使用 for 循环?它看起来像javacode。使用范围代替块,例如:

(Time.now.beginning_of_day.to_i..Time.now.to_i).step(3600) do |n|#step one hour for example
  @attendance = Attendance.new
  .......
  @attendance.signin  = @leafe.startdate
  @attendance.signout = @leafe.startdate + n # u can change time interval to any what you want

end
于 2012-11-08T10:44:03.537 回答