に設定されたオブジェクトのプロパティ:ハッシュを有するようなハッシュマップを有するルビー
Rubyで{:foo => 1, :bar => 2}
、自動的にこれが起こることを引き起こすために、オブジェクトのプロパティとしてこれらの値を割り当てるための簡単な方法があります:
obj.foo = 1
obj.bar = 2
正確には、やっていくつかのルビー、慣用的な方法:
hashmap.each { |k,v| obj.send("#{k}=", v) }
objがないオブジェクトでありますActiveModelを継承し、それはStructではなく、サードパーティのライブラリから来ているので、タイプを制御することはできません。
私はRailsを使用しています。その答えがRailsから来た場合、それは受け入れられます。
これは、例えば、ActiveRecordインスタンスの場合は 'obj.attributes = hashmap'です – mdesantis
私はあなたの質問にStructがあなたのものであると思います探している。 http://ruby-doc.org/core-2.2.0/Struct.html –
objは既に存在するサードパーティクラスのオブジェクトです。それを反映するように質問を更新しました。 – Pablo