我的用户模型每周的每一天都有七个布尔列(:mon,:tue ...:sat,:sun)。在其中一个用户方法中,我需要创建一个字符串数组,如[" mon"," tue" ..." sat"," sun& #34;]用于时间分析。您可以猜测,这些数组值来自数据库列,如果该列为true,则只应位于数组中。
这样做的一种方法是手动,如下:
if user.mon
arr.push("mon")
end
...用户模型中的每一天。但是,我想知道是否有一种更清洁,更有效的方法来实现这一目标。
答案 0 :(得分:1)
我想你想要select
:
["mon", "tue"... "sat", "sun"].select {|day| user.send day }