प्रस्तुत करना: json अगर यह एक स्ट्रिंग नहीं है वस्तु पर .to_json कॉल करेंगे।आप ऐसा करके इस समस्या से बचने कर सकते हैं:
render :json => JSON.generate(obj)
यह द्वारा सीधे एक स्ट्रिंग पारित और इसलिए ActiveSupport के to_json करने के लिए कॉल से बचने जाएगा।
class Foo < ActiveRecord::Base
def to_json(options = {})
JSON.generate(as_json)
end
end
और अगर आप ActiveModelSerializers उपयोग करते हैं, तो आप इस समस्या to_json अधिभावी द्वारा हल कर सकते हैं:
एक और दृष्टिकोण वस्तु आप serializing कर रहे हैं पर to_json ओवरराइड करने के लिए है, तो उस स्थिति में, आप कुछ की तरह कर सकता है हो सकता है आपके सीरियललाइज़र में:
# controller
respond_with foo, :serializer => MySerializer
# serializer
attributes :bar, :baz
def to_json(options = {})
JSON.generate(serializable_hash)
end
यह डेटाबेस समस्या नहीं है। –