Почему ActiveResource возвращает массивы хэшей вместо объектов? - PullRequest
3 голосов
/ 04 декабря 2011

Я только начал создавать API и приложение, которое использует API, используя ActiveResource. Я займусь подробностями с редактированием, но моя первоначальная проблема заключается в следующем:

У меня есть контроллер, который выполняет Resource.find (resource.id), который будет возвращать объект, и если я включу на стороне API, включенная ассоциация также легко работает с объектами. Чтобы получить более настраиваемую коллекцию, приложение обращается к настраиваемому действию на API, оно возвращает массив хэшей, с которым не так легко работать (например, с link_to).

Первый вопрос: почему?

Как уже говорилось, я буду заполнять больше, если это необходимо (с моей точки зрения это усложняется, может быть, не так с точки зрения профессионала / эксперта, поэтому я пока подожду). Я надеюсь, что кто-то может дать объяснение, позволяющее мне больше контролировать ActiveResource.

1 Ответ

4 голосов
/ 04 декабря 2011

http://api.rubyonrails.org/classes/ActiveResource/CustomMethods.html

используемый пользовательский ресурс .get, поэтому:

"Примечание: объекты, возвращаемые этим методом, автоматически не преобразуются в экземпляры ActiveResource :: Base - они являются обычнымиХэши. Если вы ожидаете экземпляры ActiveResource :: Base, используйте метод find class с параметром: from. "

Итак, попробуйте другой способ ....

...