2014-11-19 1 views
4

Я звоню на какой-либо пост-запрос с использованием rails activeresource, однако все параметры отправляются как строка запроса, и результат заключается в том, что вызываемый url слишком длинный, и я получаю исключение WEBrick::HTTPStatus::RequestURITooLarge.Реальный активный ресурс: как отправить параметры сообщения в тело запроса, а не как строки запроса?

Так что мне нужно отправить параметры в тело запроса, но я не смог найти, как это сделать.

Большое спасибо

+0

Данные запроса на отправку отправляются в орган запроса уже. Вы определенно делаете запрос POST? см. http://stackoverflow.com/questions/14551194/how-are-parameters-sent-in-an-http-post-request –

ответ

6

Чтобы отправить запрос на запись в activeresource вы должны ссылаться на the documentation

Например, вы можете сделать это

#Entity.post(custom_method_name, options = {}, body = '') 
Company.post(:add_role, nil, {user_id: 1, role_id: 2}.to_json) 

Скажите мне, если вам нужно что-нибудь еще.

+1

спасибо большое, это был ключ :) –

+1

Без проблем мой друг. Rabena ma3ak –

0

Попытка установить thin сервер вместо WEBrick, прочитать эти answer-1, answer-2.

Или Добавить webrick.rb файл в config\initializers каталог, и добавьте следующий код:

if defined?(WEBrick::HTTPRequest) 
    WEBrick::HTTPRequest.const_set("MAX_URI_LENGTH", 10240) 
end 

Читайте также эту answer.

+0

Вопрос в основном касается отправки параметров в качестве тела запроса, а затем строки запроса. Настройка сервера для разрешения или увеличения размера uri не должна быть решением во многих случаях, я думаю. – Rubyrider

0

Итак, я думаю, что вы делаете запрос по почте в пределах ссылки. Якорь по умолчанию создаст параметр запроса. Но если вы используете кнопку и что по умолчанию отправляете данные в почтовом методе, отправьте в качестве тела запроса как форму почтового метода. Пожалуйста, попробуйте следующие фрагменты кода:

button_to 'Your post requesting link name', something_path(:your_params => :will be here) 

Сообщите мне, если это работает!

Спасибо.

Смежные вопросы