RubyOnRailsでfindしたオブジェクトからkeyとvalueをeachで取得するには
もちろんわかってる人には当たり前なんだろうケド、わかってなかった。。。
のでメモ。
RubyOnRailsで例えば以下のように取得したデータから、keyと対応するvalueを引っ張り出したい。
users = User.find( :all, :conditions => ['id = 1'] )
これを全力でeachしたかったけど、undefined method `each`とか言われる。
てっきりずっとhashだとばかり思ってたので、each_pairとかさも当然のように実行してundefined method `each_pair`。
あ、ウン。
どうもちゃんとソースを追ってみると、オブジェクトで返してる。
ので、結論としてはこんなかんじ。
users = User.find( :all, :conditions => ['id = 1'] ) users.attributes.each do |k, v| p "key = #{k}" p "value = #{v}" end
なるほど、attributes.eachですよね。
昨日の夜は時間がなかったから直指定を全速前進で、かなりの行書いちゃったから今から全部書き直し。
5行くらいになる気がしま・・・すorz