繁体   English   中英

使用Devise将HTTP基本身份验证添加到Rails时发生内部服务器错误

[英]Internal server error when adding HTTP Basic Authentication to rails with Devise

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

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

这不是一个正确的答案,但是我解决这个问题的方法是为REST API设置单独的控制器,然后使用内联代码:

def login
   @currentUser = current_user_login
   @userInfo = @currentUser.userInfo
   render :inline => "<% @userInfo.Token %>"
end

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM