Ruby - 基于布尔变量实例化数组值

时间:2014-04-25 22:04:36

标签: ruby-on-rails ruby arrays

我的用户模型每周的每一天都有七个布尔列(:mon,:tue ...:sat,:sun)。在其中一个用户方法中,我需要创建一个字符串数组,如[" mon"," tue" ..." sat"," sun& #34;]用于时间分析。您可以猜测,这些数组值来自数据库列,如果该列为true,则只应位于数组中。

这样做的一种方法是手动,如下:

if user.mon
  arr.push("mon")
end

...用户模型中的每一天。但是,我想知道是否有一种更清洁,更有效的方法来实现这一目标。

1 个答案:

答案 0 :(得分:1)

我想你想要select

 ["mon", "tue"... "sat", "sun"].select {|day| user.send day }