很抱歉新手问题,但对Ruby和Mongo来说还是一个新手。 不是100%肯定我错过了什么,但我怎么能得到回报的价值 来自以下json结果中的“url”?
[{"url":"www.google.com"}]
所以我想要像我做的那样
puts url_var
它应该只显示www.google.com
从Mongo获取URl的MongoMapper代码
redirect_url = Surl.all(:url_key => "#{urlkey}")
myjson = redirect_url.to_json(:only => [:url])
puts redirect_url
给了我
[{"url":"www.google.com"}]
如果我做的话
redirect_url.each do |key,value|
puts key
puts value
end
key仍然是完整的json字符串,值为空。
当然,我必须遗漏一些非常基本的东西
答案 0 :(得分:1)
好的,我认为Surl
是您的模型,至少包含这些字段url_key
和url
,因此要访问该网址,您无需转换结果到json然后获取密钥,但你可以直接访问它。
Surl.all
返回一个数组(检查mongo mapper文档),如果您想要使用单个结果Surl.find_by_url_key(urlkey)
。现在,您可以使用puts redirect_url.url
redirect_url = Surl.find_by_url_key(urlkey)
puts redirect_url.url # => "www.google.com"
请务必阅读http://mongomapper.com/documentation/plugins/dynamic-querying.html和http://mongomapper.com/documentation/plugins/querying.html,了解结果和差异。