MichaelHartlによるRails3チュートリアルアプリを使用して、いくつかの領域で拡張しました。ただし、ログインとセッションの処理は同じままにしました。iPhoneアプリとのやり取りをしたいのですが、どうすればいいのかわかりません。RestKitとObjectiveResourceを見てきましたが、自分で作成しようと思いました。私はcURLでテストしてきましたが、今のところ運がありません。私はこのコマンドを使用しています
curl -H 'Content-Type: application/json' -H 'Accept: application/json' -X POST http://www.example.com/signin -d "{'session' : { 'email' : 'email@gmail.com', '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>
情報が多すぎると申し訳ありませんが、できるだけ多くの情報を提供したいと思います。
基本的に、ネイティブのiPhoneアプリからRailsデータベースにアクセスできるようにしたいと思います。サインイン、セッションの保存、その他のWebサイトへの呼び出し方法について、誰かが良いアドバイスをいただければ幸いです。
ただし、これが不可能な場合は、cURLリクエストが機能していれば、おそらく正しい方向に進むことができます。ありがとう!