我想知道我是否可以在我的类中添加类似的东西并让它构建一个我可以在其他类中引用的类属性。我不想记住 id,也不想在权重表中的 id 发生变化时不断更新 id。我也不想将权重表锁定到一组特定的 ID 中。
所以我想做如下的事情:
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))
我敢肯定有一些神奇的红宝石方式,我只是不确定正确的语法。