सुनिश्चित नहीं है कि यह मदद करता है, लेकिन यदि आप d_ethier के उत्तर के नीचे मेरी टिप्पणी पढ़ते हैं तो आप देख सकते हैं कि IPAddr
वास्तव में JSON के बारे में कुछ नहीं जानता।
हालाँकि आप JSON को इस तरह समझने के लिए इसे बंदर पैच कर सकते हैं:
require 'active_model'
require 'active_support'
require 'active_support/core_ext'
require 'ipaddr'
class IPAddr
include ActiveModel::Serializers::JSON
attr_accessor :addr, :mask_addr, :family
def attributes=(hash)
hash.each do |key, value|
send("#{key}=", value)
end
end
def attributes
instance_values
end
end
p i = IPAddr.new('127.0.0.1')
p j = i.to_json
p IPAddr.new.from_json(j)
आउटपुट:
#<IPAddr: IPv4:127.0.0.1/255.255.255.255>
"{\"family\":2,\"addr\":2130706433,\"mask_addr\":4294967295}"
#<IPAddr: IPv4:127.0.0.1/255.255.255.255>
स्रोत:
http://apidock.com/rails/ActiveModel/Serializers /JSON/from_json