Mongoidを介してMongodbにプロジェクト全体の定数を保存するための良い一般的な方法はありますか?それらをデータベースに保持する価値さえありますか?
1 に答える
2
定数は、まあ、定数です。円周率は定数です。あなたはそれのためにデータベースを必要としません、あなたはその価値を知っています。しかし、おそらくあなたは「かなり静的で、頻繁に変更される可能性が低い値」のようなものを意味していました。この場合、これらの値をDBに格納することは確かに理にかなっています。この種のものにはおそらく宝石がありますが、バニラモンゴイドでは次のようなことをします:
class Setting
field :_id, type: String
field :value
def self.read_value name
# return value or nil
Setting.where(_id: name).first.try(:value)
end
def self.write_value name, value
where(_id: name).upsert(value: value)
end
end
# usage
num_workers = Setting.read_value 'number_of_workers'
Setting.write_value "upload_dir", '/var/www/uploads'
于 2012-12-10T22:03:06.643 に答える