В настоящее время у меня есть приложение rails, использующее Devise, и я могу войти в систему через браузер. Теперь я хочу создать собственное приложение для iPhone, которое использует это приложение rails в качестве бэкэнда. Что бы я хотел:
- Когда пользователь впервые открывает приложение iOS, ему предоставляется экран входа в систему.
- Они помещают информацию, и приложение пытается войти в систему. В случае успеха отображается список пользователей приложения rails (на данный момент). В противном случае он говорит о неправильном входе в систему.
- Затем пользователь может щелкнуть имя пользователя, и он откроет профили пользователя и т. Д. Приложение должно иметь возможность выполнять все операции CRUD, как если бы они находились на самом сайте.
Сейчас я использую Devise и RestKit для приложения для iPhone. Я включил http_auth в моем приложении rails, и я могу установить имя пользователя / пароль и получить ответ со страницы my / users (список моих пользователей в JSON).
Рельсы:
class UsersController < ApplicationController
before_filter :authenticate_user!
def index
@users = User.all
respond_to do |format|
format.html # index.html.erb
format.json { render json: @users }
end
end
end
iPhone (с использованием Restkit):
- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.
RKClient *client = [RKClient clientWithBaseURL:@"http://192.168.1.105:3000" username:@"xxxx" password:@"xxxx"];
[[RKClient sharedClient] get:@"/users.json" delegate:self];
}
- (void)didReceiveMemoryWarning
{
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
- (void)request:(RKRequest*)request didFailLoadWithError:(NSError *)error {
NSLog(@"error");
}
- (void)request:(RKRequest*)request didLoadResponse:(RKResponse*)response {
NSLog(response.bodyAsString);
}
Я не знаю, что делать дальше и как к этому подойти.
- Как мне обрабатывать экран входа в систему? Хорошо, я могу выполнить GET «http: // localhost: 3000», используя базовую аутентификацию http, и получить обратно список пользователей, но как мне проверить правильность ввода учетных данных пользователя? Есть ли способ просто получить ответ «ОК» или «НЕ ОК» для входа в систему?
- Как лучше всего взаимодействовать с приложением rails? Можно ли делать такие вещи, как GET / users / 2, с помощью RestKit? Или мне нужно построить какой-то api? Я не знаю, с чего начать что-то подобное.