как запросить релакс рельсы приложение с curl? - PullRequest
3 голосов
/ 02 августа 2009

вот моя проблема .. ресурс: пользователь метод: создать

Я называю curl так:

curl -X POST -H 'Content-type: text/xml' -d '<xml><login>john</login><password>123456</password></xml>' http://0.0.0.0:3000/users

но хэш params в рельсах выглядит так:

{"xml"=> {"login"=>"luca", "password"=>"123456"}}

Я хочу, чтобы это выглядело так:

{"login"=>"luca", "password"=>"123456"}

Я могу сделать так, если я передам параметры в URL (...? Login = luca & pas ....), но это не хорошо ...

Есть идеи?

Ответы [ 3 ]

3 голосов
/ 03 августа 2009
curl -X POST -d 'login=john&password=123456' http://0.0.0.0:3000/users

См. Также: Переполнение стека: как сделать POST-запрос с помощью curl

2 голосов
/ 02 августа 2009
curl -X POST -H 'Content-type: text/xml' -d '<login>john</login><password>123456</password>' http://0.0.0.0:3000/users

Что это тебе дает?

После получения комментария, почему бы не получить к нему доступ через params [: xml] в вашем контроллере, а не через params [: login] и params [: password]?

@user = User.authenticate(params[:xml])

Это передаст логин и пароль вашей модели.

1 голос
/ 24 августа 2010

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

Создайте новый defaults.rb внутри каталога инициализаторов: yourapp / config / initializers / defaults.rb

ActiveRecord::Base.include_root_in_json = false

Теперь рут должен исчезнуть из вашего json.

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