ruby on railsのアクティブレコードメソッドによって返されるハッシュを持っています。Ruby on Railsで返されたアクティブレコードのハッシュ値を置換する
'professional_type'という名前の列があり、 'each'ループを使用して別の値に置き換える必要があります。
しかし、動作していません。
コードは:
collection.each_with_index { |(key, value), index |
if(key.professional_type == 'center_professional')
key.professional_type = 'test' # does nothing
key.professional_type << 'test' # this works and concats 'test' string to var
end
}
これはcollection.inspect結果である:私はCONCAT場合、それは変数に文字列を追加しますが、なぜ
[#<Professional id: 105, center_id: 20, name: "ABC", professional_type: "center_professional", created_at: "2014-05-28 12:21:48", updated_at: "2015-01-23 13:12:47", deleted_at: nil>, #<Professional id: 107, center_id: 20, name: "EDFG", professional_type: "center_professional", created_at: "2014-06-03 07:23:31", updated_at: "2015-01-23 13:15:35", deleted_at: nil>]
私は、新しい値を割り当てる場合うまくいかない?私は何を間違っているのですか?
ありがとうございます。
をワーク・必要がありますか?私はなぜあなたがループしているのか分からない、なぜあなたは 'collection [" center_professional "] = test'をしないのですか?私はあなたが明らかになるハッシュを表示すると仮定しています。 –