Tôi đang bối rối với vấn đề này.Làm thế nào để bạn đối phó với xung đột giữa ActiveSupport :: JSON và đá quý JSON?
ActiveSupport::JSON
xác định to_json
trên các đối tượng lõi khác nhau và cũng như đá quý JSON. Tuy nhiên, việc thực hiện không giống nhau - phiên bản ActiveSupport có các đối số và phiên bản đá quý JSON không.
Tôi đã cài đặt một đá quý yêu cầu đá quý JSON và ứng dụng của tôi bị hỏng. Vấn đề là tôi đang sử dụng to_json
trong một bộ điều khiển trả về một danh sách các đối tượng, nhưng tôi muốn kiểm soát các thuộc tính được trả về.
Khi mã bất cứ nơi nào trong hệ thống của tôi không require 'json'
tôi nhận được thông báo lỗi này:
TypeError: wrong argument type Hash (expected Data)
Tôi đã thử một vài điều mà tôi đọc trực tuyến để sửa chữa nó, nhưng không làm việc. Tôi đã kết thúc việc viết lại đá quý để sử dụng ActiveSupport::JSON.decode
thay vì JSON.parse
.
Tác phẩm này không bền vững ... Tôi không thể đá quý mỗi lần tôi muốn sử dụng đá quý yêu cầu đá quý JSON.
Cập nhật: Giải pháp tốt nhất của vấn đề này là nâng cấp lên Rails 2.3 hoặc cao hơn, để khắc phục sự cố.
Tại sao câu hỏi này được đánh dấu là "wiki cộng đồng"? –
Tôi không biết, tôi chỉ nghĩ rằng tôi sẽ thử điều đó và xem nó làm gì. –
Tôi cảm thấy đau đớn của bạn, tôi hy vọng mớ hỗn độn này sẽ được sắp xếp vào một ngày nào đó – MatthewFord