我想知道是否可以在我的類中添加類似於此的東西,並讓它構建一個我可以在其他類中引用的類屬性。我不想記住身份證,我不想不斷地更新身份證,因爲體重表中的身份證號碼發生了變化。我也不想將權重表鎖定到一組特定的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))
我敢肯定有一些魔法紅寶石的方式,我只是不確定正確的語法。