Я пытаюсь сделать необработанный POST для внутренней страницы из модульного теста, и по какой-то причине я получаю следующую ошибку:
NoMethodError: undefined method `symbolize_keys' for #<String:0x258a910>
unit/call_route_attempt_test.rb:10:in `test_response_from_call_info'
Мой код выглядит так:
post :call_info, '<?xml version="1.0" encoding="UTF-8"?><request-call-info>...SOME XML HERE...</request-call-info>'
Это должно быть хорошо в соответствии с документами API. Единственный формат, который я могу заставить работать, это если я отправлю его в виде параметров, таких как:
post :call_info, :post => {:a_var => '<?xml version="1.0" encoding="UTF-8"?><request-call-info>...SOME XML HERE...</request-call-info>'}
У меня такое ощущение, что мне нужна какая-то часть библиотеки, которая по какой-то причине здесь не работает.
Редактировать
Как указывает пользователь Sarah Mei, я вызываю неправильный метод записи. Я думаю, что это связано с наследованием моего класса, которое я не уверен, что смогу изменить, учитывая обстоятельства, когда я выполняю тест. Определение класса выглядит следующим образом:
class anApiControllerTest < ActionController::TestCase
Метод, который я пытаюсь реализовать , - это метод post (ActiveResource :: Connection) , указанный в документации по Rails API. Я действительно новичок в этом, совершенно потерян и в срок. Любая помощь очень ценится. Спасибо!