将整数0-6映射到工作日名称

时间:2014-05-18 11:20:52

标签: ruby-on-rails ruby-on-rails-4

我有一个有两个属性的类,可以使用数值保存工作日。我希望能够使用Enum,但appearantly you can not use the same value for two attributes使用Enum。

如何将属性的整数值表示为相应的工作日?

0 => "monday"
4 => "friday"

1 个答案:

答案 0 :(得分:9)

Date::DAYNAMES[(i + 1) % 7]

其中i是您的整数

2.0.0-p247 :001 > Date::DAYNAMES[(0 + 1) % 7]
 => "Monday" 
2.0.0-p247 :002 > Date::DAYNAMES[(4 + 1) % 7]
 => "Friday" 
2.0.0-p247 :003 > Date::DAYNAMES[(6 + 1) % 7]
 => "Sunday" 

你不能直接查看索引,因为在DAYNAMES 0是星期日,你希望0是星期一。