0

Devise を使用する動作中の RAILS 3.2 アプリに REST インターフェイスを追加しています。HTTP 基本認証を有効にして、アプリが正しいメールとパスワードを送信するようにしました。PUTS ステートメントを使用すると、コントローラー アクションが終了し、ログでデータベースの更新が成功したことがわかりますが、500 内部サーバー エラーが発生します。ログ内の次のステートメントは、Missing Template エラー (Missing template home/index...) を示しています。

Web サイト経由でのログインは引き続き正常に機能するため、HTTP 基本認証で何かが発生しています。

他の誰かがこれを見たことがありますか?

(API のためだけに新しいコントローラーを追加しようとしましたが、同じ問題が発生しました。ビューはありますが、見つからないようです)

Started GET "/api/login" for 192.168.0.198 at 2013-06-02 18:46:32 -0400
Processing by Api2Controller#login as JSON
[1m[36mUserLogin Load (169.8ms)[0m  [1mSELECT `user_logins`.* FROM `user_logins` WHERE     `user_logins`.`email` = 'me@gmail.com' LIMIT 1[0m
[1m[35m (0.1ms)[0m  BEGIN
[1m[36m (180.3ms)[0m  [1mUPDATE `user_logins` SET `last_sign_in_at` = '2013-06-02 17:36:18',`current_sign_in_at` = '2013-06-02 22:46:32', `sign_in_count` = 41, `updated_at` ='2013-06-02 22:46:32' WHERE `user_logins`.`id` = 12[0m [1m[35m (31.1ms)[0m  COMMIT

Completed 500 Internal Server Error in 893ms

ActionView::MissingTemplate (Missing template api2/login, application/login with {:locale=>[:en], :formats=>[:json, :xml, "text/json", :js], :handlers=>[:erb, :builder, :coffee]}.        Searched in:
  * "/home/rob/Documents/testworkspace/Crosswords3/app/views"
  * "/var/lib/gems/1.9.1/gems/devise-2.2.2/app/views"
):
  actionpack (3.2.13) lib/action_view/path_set.rb:58:in `find'
  actionpack (3.2.13) lib/action_view/lookup_context.rb:109:in `find'
4

1 に答える 1

0

これは適切な答えではありませんが、問題を回避する方法は、REST API 用に別のコントローラーをセットアップしてから、インライン コードを使用することです。

def login
   @currentUser = current_user_login
   @userInfo = @currentUser.userInfo
   render :inline => "<% @userInfo.Token %>"
end
于 2013-06-03T14:26:34.030 に答える