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

Ruby on rails Ruby-基于布尔变量实例化数组值,ruby-on-rails,ruby,arrays,Ruby On Rails,Ruby,Arrays,我的用户模型一周中的每一天都有七个布尔列(:mon,:tue…:sat,:sun)。在其中一个用户方法中,我需要创建一个字符串数组,如[“mon”、“tue”…“sat”、“sun”],用于时间解析。正如您所猜测的,这些数组值来自数据库列,并且只有当该列为true时才应该在数组中 一种方法是手动操作,如下所示: if user.mon arr.push("mon") end 。。。对于用户模型中的每一天。但是,我想知道是否有一种更干净、更有效的方法来实现这一点。我想您需要选择: ["mo

我的用户模型一周中的每一天都有七个布尔列(:mon,:tue…:sat,:sun)。在其中一个用户方法中,我需要创建一个字符串数组,如[“mon”、“tue”…“sat”、“sun”],用于时间解析。正如您所猜测的,这些数组值来自数据库列,并且只有当该列为true时才应该在数组中

一种方法是手动操作,如下所示:

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

。。。对于用户模型中的每一天。但是,我想知道是否有一种更干净、更有效的方法来实现这一点。

我想您需要
选择

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