0

Mongoidを介してMongodbにプロジェクト全体の定数を保存するための良い一般的な方法はありますか?それらをデータベースに保持する価値さえありますか?

4

1 に答える 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 に答える