ActiveRecord đã giới thiệu một thay đổi đối với định dạng đầu ra JSON mặc định của nó. Nó đã đi từCách sử dụng định dạng JSON với ActiveResource của Ruby?
{ "user": { some_junk } }
để
{ some_junk }
ActiveResource dường như đã theo đuổi thắng của mình, hy vọng tiêu thụ JSON như
{ some_junk }
tôi đang cố gắng một cách tuyệt vọng để tiêu thụ một dịch vụ web RESTful mà phát ra
{ "user": { some_junk } }
Có cách nào để yêu cầu lớp ActiveResource :: Base của tôi làm như vậy không? Đây là mã của tôi.
class User < ActiveResource::Base
self.site = "http://example.com/"
self.format = :json
end
Cập nhật: Tôi từ bỏ ActiveResource như bị phá vỡ cho bây giờ, trừ khi ai đó biết câu trả lời; trong thời gian chờ đợi, tôi có thể đạt được GET mà tôi muốn qua
require 'httparty' # sudo gem install httparty
result = HTTParty.get('http://foo.com/bar.json', headers => { "Foo" => "Bar"})
# result is a hash created from the JSON -- sweet!
Các trang web là xuống nhưng tôi theo dõi các bài đăng trên github của mình (https://github.com/vaskas/vaskas.me/blob/master/blog/ 2012/02/07/using-hashes-as-activeresource-collections/index.html) - ý chính của nó là bạn có thể gán đối tượng định dạng của riêng bạn cho 'self.format'. Tạo một lớp mới, 'include ActiveResource :: Formats :: JsonFormat' và định nghĩa hàm' decode' của riêng bạn. – phillmv