在RoR中可以做到这一点
i=[]
Structure.with_roles(:admin).each do |s|
i<<s.outfits.pluck(:id)
end
puts i
在单行代码中? 因为我正在编写cancan能力文件,所以需要将此功能放在一行中:
i=[]
can :destroy, Outfit, id: Structure.with_roles(:admin).each do |s|
i<<s.outfits.pluck(:id)
end
答案 0 :(得分:1)
puts Structure.with_roles(:admin).map{|s| s.outfits.pluck(:id)}
虽然你会得到一个数组数组,所以你可能(或可能不想)使用.flatten
。