我正在使用Ruby on Rails 3.2.9和Ruby 1.9.3。我有一組符號和一個模型類(ActiveModel
),它們具有這些符號(更多其他符號)作爲布爾屬性。給定一個類實例,我想檢索其值爲true
的所有屬性名稱。那就是:如何檢索值爲true的實例屬性名稱?
# Given an array of symbols
[:attr_1, :attr_2, :attr_3]
# Given a class instance
<#Model attr_1: true, attr_2: false, attr_3: false, attr_4: true, ... attr_N: true>
# Then I would like to return
[:attr_1, :attr_4, ..., :attr_N]
我該如何做到這一點?
所有屬性返回布爾值? – tokland
@tokland - 並非所有與給定模型類相關的屬性都返回布爾值,但給定數組中存在的屬性「映射」爲給定類返回的布爾值。 – Backo