0

我正在向使用 Devise 的工作 RAILS 3.2 应用程序添加 REST 接口。我启用了 HTTP 基本身份验证,并让我的应用程序发送正确的电子邮件和密码。使用 PUTS 语句,我看到控制器操作完成,并且在日志中看到成功的数据库更新,但随后出现 500 内部服务器错误。日志中的下一条语句显示缺少模板错误(缺少模板主页/索引...)。

通过网站登录仍然可以正常工作,因此 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 回答