0
在我的rails應用程序中,我有2個「遠程模型」。這些模型不是active_record模型,並且使用API提供的gem在API上檢索。遠程模型中的序列化關係
我發送散列數據到庫中,並且庫以散列形式給我提供數據。我的問題是關於如何生成正確的哈希值
我的問題可以用以下2個模型來說明;
remote_user.rb
class RemoteUser
include ActiveModel::Model
include ActiveModel::Serialization
attr_accessor(
:Name
:Email
...)
end
def attributes{ 'Name'=> nil,'Email'=>nil .....}
attr_reader(:HeadquartersAdress)
def HeadquartersAddress=(data={})
if data.is_a? RemoteAdresse
@HeadquartersAddress=data
else
@HeadquartersAddress=RemoteAdresse.new(data)
end
end
remote_adresse.rb
class RemoteAdresse
include ActiveModel::Model
include ActiveModel::Serialization
attr_accessor(
:AddressLine1,
:AddressLine2,
:City,
:Region,
:PostalCode,
:Country
)
def attributes
{
'AddressLine1'=>nil,
'AddressLine2'=>nil,
'City'=>nil,
'Region'=>nil,
'PostalCode'=>nil,
'Country'=>nil
}
end
end
測試:
test = RemoteUser.new Name: 'Foo'
test.HeadquartersAddress=RemoteAddress.new City: 'singapour'
test.serializable_hash
>{"Name"=>"Foo","HeadquartersAddress"=>#<RemoteAdresse:0xa9c2ef8
@City="singapour"}
我寧願:{ 「名稱」=> 「富」,」 HeadquartersAddress「=> { 」City「=」singapour「}}
嵌套對象(地址)未被序列化。我能做些什麼來使其序列化呢?
謝謝!這正是我需要的。 – Syl