在我的Rails应用程序中,我有一个用户模型、部门模型、组模型和一个注册model.User模型,其中包含基本的用户信息,
用户模型:
id , name
has_and_belongs_to_many :departments , :groups
部门模型:
id,name
has_and_belongs_to_many :users
has_many :registers
组模型:
id,name
has_and_belongs_to_many :users
has_many :registers
注册模型:
date ,department_id , group_id , one , two , three
belongs_to :department ,:group
在注册模型“一”、“二”、“三”中,时隙表示: 9-12、12-3、3-6。每天,每个用户都必须标记出勤,以便他们的出勤必须与注册表中的时间段相对照。如何使用时间段根据当前时间标记考勤。
提前谢谢。
发布于 2012-12-20 13:53:42
您可能需要这样做
current_time = Time.now
if (9..11).include?(current_time.hour)
# Do A
elsif (12..14).include?(current_time.hour)
# Do B
elsif (15..18).include?(current_time.hour)
# Do C
end
(或)
current_time = Time.now
if (9...12).include?(current_time.hour)
# Do A
elsif (12...15).include?(current_time.hour)
# Do B
elsif (15...18).include?(current_time.hour)
# Do C
end
# I think of the extra "." as 'eating' the last value so you don't have it.
来处理重叠部分
发布于 2012-12-20 13:29:08
尝尝这个
current_time = Time.now
if (9..12).include?(current_time.hour)
# 9-12
elsif (12..15).include?(current_time.hour)
# 12-3
elsif (15..18).include?(current_time.hour)
# 3-6
end
发布于 2012-12-20 13:20:38
可以考虑创建一个位图。32位整数是轻量级的,它给你0-24,每小时一个。写一些函数,可以比较,设置,...小时范围。
https://stackoverflow.com/questions/13965563
复制相似问题