[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

YAML Problem YAML::Object

Fransiscus Xaverius

12/14/2007 5:39:00 PM

This was already saved in my database :

c.lawsuit.customer_service_location

=> "--- !ruby/object:Address \nattributes: \n created_on: 2006-02-24
12:30:19 \n city: Alex City\n line1: 441 Saint Bernard Drive\n zip:
\"35086\"\n ''\n id: \"124\"\n contact_detail_id: \"128\"\n detail_key:
Home Address \n state: AL"

AND I DO THIS

>> my_test = YAML.load c.lawsuit.customer_service_location

=>#<YAML::Object:0xb7986eb8 @class="Address",
@ivars={"attributes"=>{"line1"=>"441 Saint Bernard Drive", "city"=>"Alex
City", "created_on"=>"2006-02-24 12:30:19", "line2"=>"", "zip"=>"35086",
"id"=>"124", "state"=>"AL", "detail_key"=>"Home Address",
"contact_detail_id"=>"128"}}>

PROBLEM
------------------------
>> my_test.city
NoMethodError: Undefined 'city' for #<YAML::Object:0xb7986eb8>
from (irb): 93
from : 0


THE QUESTION
--------------
How I can call city's value like doing below :

call_address = Address.find 128
=> #<Address:0xb79076ac @attributes={"created_on"=>"2006-02-24
12:30:19", "city"=>"Alex City", "line1"=>"441 Saint Bernard Drive",
"zip"=>"35086",
"line2"=>"", "id"=>"124", "contact_detail_id"=>"128",
"detail_key"=>"Home
Address", "state"=>"AL"}>

call_address.city
=> "Alex City"

Thank You
FX
--
Posted via http://www.ruby-....

2 Answers

yermej

12/14/2007 8:58:00 PM

0

On Dec 14, 11:38 am, Fransiscus Xaverius <homebeautyp...@yahoo.co.id>
wrote:
> This was already saved in my database :
>
> c.lawsuit.customer_service_location
>
> => "--- !ruby/object:Address \nattributes: \n created_on: 2006-02-24
> 12:30:19 \n city: Alex City\n line1: 441 Saint Bernard Drive\n zip:
> \"35086\"\n ''\n id: \"124\"\n contact_detail_id: \"128\"\n detail_key:
> Home Address \n state: AL"
>
> AND I DO THIS
>
> >> my_test = YAML.load c.lawsuit.customer_service_location
>
> =>#<YAML::Object:0xb7986eb8 @class="Address",
> @ivars={"attributes"=>{"line1"=>"441 Saint Bernard Drive", "city"=>"Alex
> City", "created_on"=>"2006-02-24 12:30:19", "line2"=>"", "zip"=>"35086",
> "id"=>"124", "state"=>"AL", "detail_key"=>"Home Address",
> "contact_detail_id"=>"128"}}>
>
> PROBLEM
> ------------------------>> my_test.city
>
> NoMethodError: Undefined 'city' for #<YAML::Object:0xb7986eb8>
> from (irb): 93
> from : 0
>
> THE QUESTION
> --------------
> How I can call city's value like doing below :
>
> call_address = Address.find 128
> => #<Address:0xb79076ac @attributes={"created_on"=>"2006-02-24
> 12:30:19", "city"=>"Alex City", "line1"=>"441 Saint Bernard Drive",
> "zip"=>"35086",
> "line2"=>"", "id"=>"124", "contact_detail_id"=>"128",
> "detail_key"=>"Home
> Address", "state"=>"AL"}>
>
> call_address.city
> => "Alex City"
>
> Thank You
> FX
> --
> Posted viahttp://www.ruby-....

It should work so long as the environment where you load the YAML has
the correct definition of the Address class. In your first example
(where it isn't working right), you should be able to add something
before your YAML.load like:

require 'address'

where the file address.rb has the class definition of Address. Without
that, Ruby can't actually instantiate the Address class so you just
get the YAML::Object object that you're seeing.

Fransiscus Xaverius

12/14/2007 9:17:00 PM

0

You just saved my life from fired. Thank You.
:D
FX

yermej wrote:
> On Dec 14, 11:38 am, Fransiscus Xaverius <homebeautyp...@yahoo.co.id>
> wrote:
>>
>>
>> 12:30:19", "city"=>"Alex City", "line1"=>"441 Saint Bernard Drive",
>> --
>> Posted viahttp://www.ruby-....
>
> It should work so long as the environment where you load the YAML has
> the correct definition of the Address class. In your first example
> (where it isn't working right), you should be able to add something
> before your YAML.load like:
>
> require 'address'
>
> where the file address.rb has the class definition of Address. Without
> that, Ruby can't actually instantiate the Address class so you just
> get the YAML::Object object that you're seeing.

--
Posted via http://www.ruby-....