我想知道是否可以在我的类中添加类似于此的东西,并让它构建一个我可以在其他类中引用的类属性。我不想记住身份证,我不想不断地更新身份证,因为体重表中的身份证号码发生了变化。我也不想将权重表锁定到一组特定的ID中。是否可以从数据库中动态生成cattr_reader散列?
所以我很乐意这样做如下:
class Weight < ActiveRecord::Base
attr_accessible :name
@@kind = {
Weight.all.each do |weight|
weight.name.delete(' ').underscore.to_sym: weight.id,
end
}
cattr_reader :kind, :instance_accessor => false
end
然后在代码中,我可以做这样的事情的其他地区..
scope :light, where(weight_id, Weight::kind(:light))
我敢肯定有一些魔法红宝石的方式,我只是不确定正确的语法。