我更多然后肯定这是我的错误,因为开发工作正常。然而,在生产中,注册似乎在创建用户时起作用;当重定向到主页时,它就像会话丢失一样,因为它没有发出闪光通知,就好像你没有登录一样。当你登录时也会发生同样的事情你没有得到任何错误它重定向回主页,没有闪存,你没有登录。日志中没有错误。我想知道如果我错过了一些我应该在生产中添加的设置,我们将不胜感激。
我尝试的事情:
1)在生产中的轨道上禁用缓存
2)user.valid_for_authentication?和user.active_for_authentication?两者都对用户
返回true3)设置config.http_authenticatable = false
4)使用:: exception
删除了protect_from_forgery环境: Ruby 2.1.3 Rails 4.1.8 Apache 2.4.7 尝试了Safari浏览器和Firefox
编辑#1
使用设计3.4.1。登录成功,用户在数据库中创建。
登录
I, [2014-12-07T23:42:35.846892 #9326] INFO -- : Started POST "/users/sign_in" for 76.183.166.48 at 2014-12-07 23:42:35 -0500
I, [2014-12-07T23:42:35.848778 #9326] INFO -- : Processing by Devise::SessionsController#create as HTML
I, [2014-12-07T23:42:35.848974 #9326] INFO -- : Parameters: {"utf8"=>"✓", "authenticity_token"=>"9ClmimUYOjV+rcxml3SrOuN1sfklRp4ezEMKp3IJSuY=", "user"=>{"email"=>"joebob@gmail.com", "password"=>"[FILTERED]", "remember_me"=>"0"}, "commit"=>"Log in"}
D, [2014-12-07T23:42:35.855928 #9326] DEBUG -- : User Load (0.4ms) SELECT "users".* FROM "users" WHERE "users"."email" = 'joebob@gmail.com' ORDER BY "users"."id" ASC LIMIT 1
D, [2014-12-07T23:42:35.955418 #9326] DEBUG -- : (0.2ms) begin transaction
D, [2014-12-07T23:42:35.961404 #9326] DEBUG -- : SQL (0.4ms) UPDATE "users" SET "current_sign_in_at" = ?, "last_sign_in_at" = ?, "sign_in_count" = ?, "updated_at" = ? WHERE "users"."id" = 4 [["current_sign_in_at", "2014-12-08 04:42:35.953525"], ["last_sign_in_at", "2014-12-08 04:35:07.820782"], ["sign_in_count", 20], ["updated_at", "2014-12-08 04:42:35.955881"]]
D, [2014-12-07T23:42:36.064737 #9326] DEBUG -- : (102.9ms) commit transaction
I, [2014-12-07T23:42:36.071840 #9326] INFO -- : Redirected to http://bob.com/
I, [2014-12-07T23:42:36.072272 #9326] INFO -- : Completed 302 Found in 223ms (ActiveRecord: 103.9ms)
更新#2
从apache2.4更改为nginx,现在一切正常。所以必须使用我的apache配置。我将进一步深入研究apache2