我在使用AuthLogic和current_user时遇到了一些问题.
我有一个使用Cairngorm框架作为前端的Flex4应用程序,以及使用Ruby On Rails作为后端.
我可以通过浏览器登录,只使用ROR.但是,当我通过我的Flex4应用程序尝试它时,它将在第一次失败但第二次工作.
发生了什么,在user_sessions_controller.rb里面我有一个电话
self.current_user.to_xml;
第一次调用create动作时,current_user对象返回nil.我第二次调用它(没有重新启动服务器或浏览器)它将是适当的当前用户.
所以这让我相信current_user是在我的create action中的render命令之后的某个时候设置的.
如果我需要我的rails控制器在创建操作中返回当前用户,我该怎么做呢?
最佳答案 只是有完全相同的问题…不知道为什么会发生这种情况但我试图在我的user_sessions_controller.rb中的create方法中调用current_user,按照以下方式解决…
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
希望这可以帮助!