SD1*_*990 2 ruby activerecord ruby-on-rails
应该是一个简单的,可能有点复杂的标题.
我有一个包含记录的变量:
@record = Records.all
Run Code Online (Sandbox Code Playgroud)
和一个包含一些task_id的数组:
@array #has for e.g. [1,2,3]
Run Code Online (Sandbox Code Playgroud)
我想做什么检查@records中记录列表的task_id列,看它们是否包含数组中的任何数字.如果他们这样做,那么我希望将这些数字放入另一个数组中.
我知道这很简单,但我一直很困惑,因为我对ruby语法很新.
这应该适合你:
@records.map(&:task_id) & @array
Run Code Online (Sandbox Code Playgroud)
这构建了两个列表(task_ids和array)的交集.您可以在控制台上尝试此示例(我希望这有助于清除它的工作原理):
irb(main):008:0> a = [1,2,3,4]
=> [1, 2, 3, 4]
irb(main):009:0> b = [3,4,5,6]
=> [3, 4, 5, 6]
irb(main):010:0> a & b
=> [3, 4]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
119 次 |
| 最近记录: |