Несколько объектов JSON в потоке - PullRequest
0 голосов
/ 23 февраля 2012

Я пытаюсь выполнить две вспомогательные функции в представлении вызова второго с возвращением первого.Я знаю, что следующие функции правильно возвращают нужный хэш:

%p = helper_method0 params[:some_string] #does a request on a third party site which  responds with json data wich is then parsed by yajl and the hash is returned to view

Однако, когда я вызываю следующее:

- hash = helper_method0 params[:some_string] #does a request on a third party site which  responds with json data wich is then parsed by yajl and the hash is returned to view
%p= helper_method1 hash #Literally is just returning the input parameter

, я получаю следующее сообщение об ошибке

 Found multiple JSON objects in the stream but no block or the on_parse_complete callback was assigned to handle them.

Как мне вызвать метод с входным параметром в качестве возврата другого метода из представления?

1 Ответ

2 голосов
/ 24 мая 2012

То, что вы делаете, совершенно правильно:)

И вы также можете сделать:
(если вы хотите сохранить байты и переменные)

%p= helper_method1( helper_method0 params[:some_string] )

Но в любом случае ...
Эта ошибка звучит как проблема в парсере json ... Вы используете Yajl ?

Я видел эту проблему при использованииYajl вот так:

parser = Yajl::Parser.new
hash = parser.parse(some_string)

Для меня сработало использование метода класса Yajl следующим образом:

Yajl::Parser.parse(some_string.strip)

Надеюсь, это поможет:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...