我使用publicactivity gem來審覈我的應用程序中的活動。如何訪問紅寶石對象內的數組中的散列?
使用MongoDB,下面的數據都不是真實的 - 但代表真實的數據。
我猛在這樣一些數據:
"changes" : [
{
"oldFirst" : "Aaron2",
"oldLast" : "Aardvark2",
"oldCity_id" : "Bogota, TN",
"oldZip_code" : 38007,
"oldPhone" : [
"9993339999",
"4442224443"
],
"oldStreet1" : "1111 Brighton Clopton St",
"oldStreet2" : "Suite 100",
"oldEmail" : [
"[email protected]"
],
"oldType" : "customer",
"oldLatitude" : "36.1625531",
"oldLongitude" : "-89.4362431",
"oldCust_notes" : "",
"oldAccount_id" : ""
},
{
"newFirst" : "Aaron",
"newLast" : "Aardvark",
"newCity_id" : "Brighton, TN",
"newZip_code" : 38011,
"newPhone" : [
"9993338888",
"4442223334"
],
"newStreet1" : "1111 Brighton Clopton Dr.",
"newStreet2" : "",
"newEmail" : [
"[email protected]"
],
"newType" : "customer",
"newLatitude" : "35.4558615",
"newLongitude" : "-89.68162079999999",
"newCust_notes" : "",
"newAccount_id" : ""
}
]
那麼,如何談論這些元素呢?
我想:
<%= activity.changes[0]["oldFirst"] %>
<%= activity.changes["oldFirst"] %>
<%= activity.changes.oldFirst %>
<% if activity.changes.any?
activity.changes.each do |c|
%>
<%= c["oldfirst"] %>
<%end%>
<%end%>
等
上和我試過的組合,我知道 - 我得到這個:
no implicit conversion of String into Integer
字符串成整數? WTF?這是所有字符串類型的數據,我試圖以字符串類型的數據訪問它 - 我不明白爲什麼它認爲我有或想要整數值。
我可以幫助嗎?
使用'JSON.parse(消息)' –
無論你調用哪個變量持有JSON字符串 – Tilo
這是行不通的。我知道它看起來像JSON,MongoMapper可能會返回一些它認爲是JSON的東西,但我在控制器和視圖層次上完全按照你的說法解析過,包含activity,activity.changes,activity.changes [0 ]等,這是行不通的。我推送的數據看起來像這樣,非常喜歡與JSON一起工作。相同的「沒有將字符串隱式轉換爲整數」錯誤消息。 – notaceo