私は持っている:
{xyz => [:abc, :klm, :nop]}
私は動的にこのようなものを持ちたいです (22、33、44 はいくつかのランダムな値です):
{:abc.gte => 22, :klm.gte => 33, :nop.gte => 44}
gte
http://datamapper.org/docs/find.htmlで文書化されているように、Datamapper オペレーターです。
2番目のハッシュを構築する方法を知っている人はいますか?
私は持っている:
{xyz => [:abc, :klm, :nop]}
私は動的にこのようなものを持ちたいです (22、33、44 はいくつかのランダムな値です):
{:abc.gte => 22, :klm.gte => 33, :nop.gte => 44}
gte
http://datamapper.org/docs/find.htmlで文書化されているように、Datamapper オペレーターです。
2番目のハッシュを構築する方法を知っている人はいますか?
ランダム値の最小/最大は?
それが 1 から 100 までの範囲であるとしましょう。
require 'data_mapper'
properties = [:abc, :klm, :nop]
rand_range = (1..100).to_a
hash = properties.inject({}) { |h, p| h.update p.gte => rand_range.sample }
p hash
そして、datamapper のフィルターにフィードできるハッシュを取得します。
{#<DataMapper::Query::Operator @target=:abc @operator=:gte>=>24, #<DataMapper::Query::Operator @target=:klm @operator=:gte>=>52, #<DataMapper::Query::Operator @target=:nop @operator=:gte>=>51}