# Hash from Flex

**URL:** <https://www.ruby-forum.com/t/hash-from-flex/88559>\
**Category:** Rails\
**Created:** [March 12, 2007, 5:36pm UTC](https://www.ruby-forum.com/t/hash-from-flex/88559 "2007-03-12T17:36:22Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![kvark](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8797f3/32.png) [@kvark](https://www.ruby-forum.com/u/kvark)\
**Post date:** [March 12, 2007, 5:36pm UTC](https://www.ruby-forum.com/t/hash-from-flex/88559/1 "2007-03-12T17:36:22Z")

</div>

Hi,

Im new to rails and trying to pass a hash, from my flex application to  
my rails app.

My flex application calls a rails service

def updateScorecards(id, scorecard)

puts “im in update scorecards2”  
puts pp scorecard

@update\_scorecard = Scorecard.find(id , :include =\> :kpis)  
puts pp @update\_scorecard

end

Model:

class Scorecard \< ActiveRecord::Base  
has\_and\_belongs\_to\_many :kpis  
end

im using pp to write out the params, so we see what happens. Now to my  
questions, how do i update my @update\_scorecard with values from  
scorecard param  
@update\_scorecard.update\_attributes gives me unified\_strings! error

Help appriciated!

Debug from this is:

im in update scorecards2  
[#\<NamedObject:0x2907b68  
@anonymous\_object=  
{“name”=\>“FirstScoreCard”,  
“id”=\>1,  
“kpis”=\>  
[#\<NamedObject:0x2904f58  
@anonymous\_object=  
{“name”=\>“Generated.Kpi1”,  
“unit”=\>“something”,  
“id”=\>19,  
“description”=\>nil},  
@object\_name=“com.bsc.vo.Kpi”\>,  
#\<NamedObject:0x2903248  
@anonymous\_object=  
{“name”=\>“Generated.Kpi2”,  
“unit”=\>“something”,  
“id”=\>20,  
“description”=\>nil},  
@object\_name=“com.bsc.vo.Kpi”\>],  
“view\_id”=\>1},  
@object\_name=“com.bsc.vo.Scorecard”\>,  
#\<NamedObject:0x29059e4  
@anonymous\_object=  
{“name”=\>“SecondScoreCArd”, “id”=\>2, “kpis”=\>[], “view\_id”=\>1},  
@object\_name=“com.bsc.vo.Scorecard”\>]  
nil  
#\<Scorecard:0x27953c0  
@attributes={“name”=\>“FirstScoreCard”, “id”=\>“1”, “view\_id”=\>“1”},  
@kpis=  
[#\<Kpi:0x27948e4 @attributes={“name”=\>“Generated.Kpi1”,  
“unit”=\>“something”, “id”=\>“19”, “description”=\>nil}\>, #\<Kpi:0x27944fc  
@attributes={“name”=\>“Generated.Kpi2”, “unit”=\>“something”, “id”=\>“20”,  
“description”=\>nil}\>]\>

---

<div class="post-metadata">

**Author:** ![kvark](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8797f3/32.png) [@kvark](https://www.ruby-forum.com/u/kvark)\
**Post date:** [March 12, 2007, 6:49pm UTC](https://www.ruby-forum.com/t/hash-from-flex/88559/2 "2007-03-12T18:49:19Z")

</div>

update\_attributes expects a proper hash. You’re handing it a  
NamedObject. I’m not exactly certain what that is, but can you  
convert it into a hash and then pass it into update\_attributes?

On Mar 13, 12:36 am, Kvark D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)

---

<div class="post-metadata">

**Author:** ![kvark](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8797f3/32.png) [@kvark](https://www.ruby-forum.com/u/kvark)\
**Post date:** [March 12, 2007, 9:01pm UTC](https://www.ruby-forum.com/t/hash-from-flex/88559/3 "2007-03-12T21:01:12Z")

</div>

Yo and thanks,

How do a proper hash look?

---

<div class="post-metadata">

**Author:** ![kvark](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/k/8797f3/32.png) [@kvark](https://www.ruby-forum.com/u/kvark)\
**Post date:** [March 14, 2007, 3:40am UTC](https://www.ruby-forum.com/t/hash-from-flex/88559/4 "2007-03-14T03:40:22Z")

</div>

when you inspect it, it should look something like:

puts h.inspect

# =\> {“c”=\>3, :a=\>1, :b=\>2}

not like

puts obj.inspect

# =\> #\<RandomClass:0xb7c1f324 @inst={“c”=\>3, :a=\>1, :b=\>2}\>

Check the documentation for NamedObject and see if you can find some  
way to have it return a hash. If there is none, you can grab the  
anonymous\_object instance variable directly:

hash = named\_obj.instance\_eval { @anonymous\_object }

… with the understanding that if NamedObject’s implementation  
changes in the future, your method might break.

On Mar 13, 4:01 am, Kvark D. [removed\_email\_address@domain.invalid](mailto:removed_email_address@domain.invalid)
