【发布时间】:2017-03-05 10:50:09
【问题描述】:
我试图找出数组中留下了哪个模型,以便我可以使用该模型进行条件语句。
set_hash = {
some_array_one: RedModel.some_scope,
some_array_two: BlueModel.some_scope,
some_array_three: GreenModel.some_scope
}
假设这个哈希有
some_array_one.count = 0,
some_array_two.count = 5,
some_array_three.count = 0,
那么 set_class 的答案应该等于:BlueModel
这就是我试图找到答案的方式
set_class = set_hash.reject{|k, v| v.count.zero?}.map{|k, v| v.first.class.name}
但是,我得到的是:
["BlueModel"]
如何使数组中的字符串常量化(可能不是正确的术语。) 当我尝试使用 constantize 时,出现此错误:
NoMethodError: undefined method `constantize' for ["Item"]:Array
【问题讨论】:
标签: ruby-on-rails arrays ruby ruby-on-rails-4 hash