Я взял приложение Rails 3 Tutorial от Майкла Хартла и расширил его в нескольких областях. Тем не менее, я сохранил логин и сеанс обработки одинаковыми. Я хотел бы взаимодействовать с приложением для iphone, но не знаю, как это сделать. Я посмотрел на RestKit и Objective Resource, но подумал, что напишу свой собственный. Я тестировал это с помощью cURL, но пока не повезло. Я использовал эту команду
curl -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://www.example.com/signin -d "{'session' : { 'email' : '[email protected]', 'password' : 'pwd'}}" -c cookie
Как и в руководстве по Rails 3, я использую Sessions.
Это маршруты:
match '/signin', :to => 'sessions#new'
match '/signout', :to => 'sessions#destroy'
Это контроллер:
class SessionsController < ApplicationController
def new
@title = "Sign in"
end
def create
user = User.authenticate(params[:session][:email],
params[:session][:password])
if user.nil?
flash.now[:error] = "Invalid email/password combination."
@title = "Sign in"
render 'new'
else
sign_in user
redirect_back_or user
end
end
def destroy
sign_out
redirect_to root_path
end
end
Модели нет, и вы входите с помощью формы. Вот html для формы:
<h1>Sign In</h1>
<%= form_for(:session, :url => sessions_path) do |f| %>
<div class="field">
<%= f.label :email %></br>
<%= f.text_field :email %>
</div>
<div class="field">
<%= f.label :password %></br>
<%= f.password_field :password %>
</div>
<div class="actions">
<%= f.submit "Sign in" %>
</div>
<% end %>
<p> New user? <%= link_to "Sign up now!", signup_path %></p>
Извините, если это слишком много информации, я хотел дать как можно больше.
По сути, я хотел бы иметь доступ к моей базе данных Rails из собственного приложения для iphone. Если у кого-то есть хороший совет о том, как войти в систему, сохранить сеанс, а затем сделать другие звонки на веб-сайт, я был бы очень признателен.
Однако, если это невозможно, рабочий запрос cURL, вероятно, поможет мне двигаться в правильном направлении. Спасибо!