我刚刚开始学习Ruby和datamapper,我已经阅读了DataMapper官方网站上关于关联的文档,但我仍然有两个问题。首先,每当我添加关联对象时,我在显示所有对象时看不到它。我有这样的测试类:
class Test
include DataMapper::Resource
property :id, Serial
property :name, String
has 1, :phonen, :through => Resource
end然后是phonen类,比如:
class Phonen
include DataMapper::Resource
property :id, Serial
property :number, String
belongs_to :test
end然后我创建了这两个对象
@test = Test.create(
:name => "Name here"
)
@phone = Phonen.create(
:number => "Phone number"
)
@test.phonen = @phone
@test.save我想这样显示它们(我想返回json)
get '/' do
Test.all.to_json
end我做错了什么?也许是to_json的问题……我真的不知道..。但是我对这个主题还有一个额外的问题,假设我设法连接了这两个类,如果我显示JSON,我会得到Phonen { }还是只在{ }类中?我知道这可能是个很简单的问题,但我想不出来。这就是为什么我决定问你们。感谢你的帮助
发布于 2014-06-05 05:05:44
Test.all以数组的形式返回活动记录关联,而不是哈希,当您尝试转换为json时,它会失败。
您可以尝试:
render json: Test.all如本问题所问:
https://stackoverflow.com/questions/24045827
复制相似问题