これに似たものをクラスに追加して、他のクラスで参照できるクラス属性を構築できるかどうかを知りたいです。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))
魔法のルビーの方法があると確信していますが、正しい構文がわかりません。