我在 AuthLogic 和 current_user 方面遇到一些问题。
我有一个 Flex4 应用程序,使用 Cairngorm 框架作为前端,使用 Ruby On Rails 作为后端。
我可以通过浏览器正常登录,并且仅使用 ROR 时。然而,当我通过我的 Flex4 应用程序尝试它时,第一次会失败,但第二次会工作。
正在发生的事情是在 user_sessionscontroller.rb 内部,我有一个电话
self.current_user.to_xml;
我第一次调用 create 操作时,current_user 对象返回 nil。我第二次调用它(无需重新启动服务器或浏览器)它将是正确的当前用户。
所以这让我相信 current_user 是在我的创建操作中的渲染命令之后的某个时候设置的。
如果我需要我的 Rails 控制器在创建操作中返回当前用户,我将如何去做呢?
只是遇到了完全相同的问题...不知道为什么会发生这种情况,但我试图在我的创建方法中调用 current_useruser_sessions_controller.rb
,按如下解决...
def create
@user_session = UserSession.new(params[:user_session])
if @user_session.save
current_user = UserSession.find.user
current_user.increment_login_count_for_current_memberships!
flash[:notice] = 'Sign in successful.'
redirect_to root_path
else
render action: "new"
end
end
希望这可以帮助!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)