我对魔法宝石有点意见。当我登录到我的应用程序时,控制器成功地登录了该应用程序,然后将我重定向到另一个页面(我可以确保登录凭据是正确的,就好像它们不是一样——会呈现登录页面操作,而不是进行重定向)。然而,当应用程序试图加载此页面时,魔法
requires_login
方法失败,因为
current_user
返回false(然后触发
not_authenticated
并引导我回到首页)。
这只发生在生产中,如果我在开发中运行网站,一切都会很好。我试着把其他的都去掉了
before_filters
跑了,仍然会遇到同样的问题,所以这不是什么问题。
登录由以下控制器操作处理(我不认为其中有任何责任,只是以防万一):
# user_sessions_controller.rb
def create
logout
@user = login(params[:email], params[:password])
if @user
@user.assign_locale(params[:locale])
flash[:success] = "Log in successful."
if can? :read, Organisation
redirect_to some_path
else
redirect_to another_path
end
else
flash.now[:error] = "Unrecognised email/password combination"
render "new"
end
end