[英]Paper trail string to hash
是否可以將字符串轉換為散列,以便像散列一樣進行迭代?
"---
!ruby/hash:ActiveSupport::HashWithIndifferentAccess\ndescription:\n-
Original text blah blah.\n- New text blah blah.\nupdated_at:\n- 2014-05-12 09:18:21.000000000 Z\n-
2014-05-12 09:19:33.748593000 Z\n"
我正在使用paper_trail
gem並嘗試paper_trail
非相鄰版本。 這使我無法使用內置的"changeset"
哈希值,而這正是我想要的。
使用許多正則表達式,我可以處理這些字符串,但是我想將它們轉換為散列,在散列中將"description"
作為鍵,接下來的兩個項目為value.first
和value.last
。
使用<%= version.object_changes %>
調用該字符串。 我怎么稱呼它為哈希?
您應該使用version.changeset
來獲取對象更改的已解析哈希。
如果您真的想將該字符串轉換為ruby對象( ActiveSupport::HashWithIndifferentAccess
),則可以:
str = "--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess\ndescription..."
YAML.load(str)
# => {"description"=>["Original text blah blah.", "New text blah blah."], "updated_at"=>[2014-05-12 09:18:21 UTC, 2014-05-12 09:19:33 UTC]}
# or
PaperTrail.serializer.load(str)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.