По сути, это всего лишь вопрос размещения правильных данных в маршруте создания пользователя (запустите rake routes
, чтобы увидеть все маршруты, которые разработал для вас, как только вы его правильно установили).Например, я сделал это с одним из моих приложений (с помощью командной строки curl):
curl -H "Content-Type:application/json" -H "Accept:application/json" -d "{\"user\":{\"email\":\"jared@jared.com\", \"password\":\"super_secret_pass\", \"password_confirmation\":\"super_secret_pass\"}}" http://jared-dev/users
.. и я вернулся:
{"status":"signed_in"}
.. и просто подтвердил этоработал:
irb(main):001:0> User.find_by_email('jared@jared.com')
=> #<User id: 2, email: "jared@jared.com", encrypted_password: "$2a$10$QMBAcpKjUwoC.pcRYt88a.vA0oq58jx0lagbgY298wjf...", password_salt: "$2a$10$QMBAcpKjUwoC.pcRYt88a.", reset_password_token: nil, remember_token: nil, remember_created_at: nil, sign_in_count: 1, current_sign_in_at: "2011-03-15 19:49:47", last_sign_in_at: "2011-03-15 19:49:47", current_sign_in_ip: "127.0.1.1", last_sign_in_ip: "127.0.1.1", authentication_token: "yW37HrKUigwvSEDmXaB4", created_at: "2011-03-15 19:49:47", updated_at: "2011-03-15 19:49:47">
В этом примере я публикую данные JSON, потому что я думаю, что их легче читать, но вы также можете заставить curl выполнять стандартные формданные.Мне пришлось изменить контроллер приложения для поддержки JSON для аутентификации, согласно этой записи .
Эти параметры командной строки соответствуют CURLOPT_HTTPHEADER
, CURLOPT_POST
и CURLOPT_POSTFIELDS
, установленным черезcurl_easy_setopt при использовании простого интерфейса libcurl.
Надеюсь, это поможет.