2012-06-06 2 views
3

Я пытаюсь создать приложение Rails 3 с API. Я использую Devise в качестве моей системы аутентификации. Я хотел бы сделать это, чтобы зарегистрироваться и позже войти через API. И я не совсем уверен, как это сделать. Я создал отдельные контроллеры для управления API, то есть api/v1/account/1/projects.json. В настоящее время я пытаюсь создать пользовательский Devise::RegistrationsController для API, но я не совсем уверен, как это сделать.Devise RegistrationsController создает действие в API

Моя создать действие в настоящее время выглядит следующим образом:

class API::V1::RegistrationsController < Devise::RegistrationsController 
    redpond_to :json, :xml 

    def create 
    build_resource 
    if resource.save 
     if resource.active_for_authentication? 
     # Account is a nested resource for User, I want to 
     # create an associated account when the User signs up through the client, 
     # how should I do this? 
     account = resource.accounts.build 
     # How can I get the sign_in to work? 
     sign_in(resource_name, resource) 
     # Probably wrong 
     respond_with resource, :location => after_sign_up_path_for(resource) 
     else 
     # probably wrong 
     expire_session_data_after_sign_in! 
     respond_with resource, :location => after_inactive_sign_up_path_for(resource) 
     end 
    else 
     # probably wrong, or? 
     clean_up_passwords resource 
    end 
    end 

Которые, вероятно, очень неправильно, как указано в моих комментариях, так что я интересно, если кто-то может дать мне какие-либо указания о том, как заставить его работать. Следует также упомянуть, что учетная запись является вложенным ресурсом для пользователя.

Я также задаюсь вопросом, как я должен настроить функции входа и выхода в API с помощью Devise.

Спасибо!

ответ

5

This другой вопрос, который может вам помочь. Это выглядит очень похоже. Обратите особое внимание на gist, что связано с ответом.

+0

Спасибо, я проверю это. – Anders

+0

Я получил часть подписи, работая по ссылкам, с некоторыми изменениями. Следовательно, часть регистрации будет работать. Благодаря! – Anders

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