设计请求时设计 - current_user nil

时间:2011-08-15 01:04:27

标签: ruby-on-rails devise

我知道我之前有过这个工作,但由于某种原因,我的一个创建操作中的current_user方法调用仍然返回nil。当在其他控制器等中使用时,它可以正常工作,例如侧面板,以显示我的用户名。

class CombatInstancesController < ApplicationController
  def create
    # when creating a new instance, check if the current user has one and destroy it
    CombatInstance.find(current_user.combat_instance.id).destroy if current_user.combat_instance
    # Now create the new one
    render :json => current_user.create_combat_instance
  end

  def update
    @combat_instance = current_user.combat_instance
    @combat_instance.trigger_actions(params[:actions])
    @combat_instance.perform_ai_actions
    @combat_instance.save # should we instead call this in an after hook?
    render :json => @combat_instance
  end
end

CombatInstance.find(current_user.combat_instance.id).destroy if current_user.combat_instance是current_user返回nil的地方。工作流程是:我转到主页,我登录就好了。我可以在顶部看到我的用户名,这是使用视图中的current_user帮助程序生成的。但是,当我提交一个在此处点击创建操作的表单时,它将返回nil。

1 个答案:

答案 0 :(得分:3)

您是否正在使用Rails 3 w / Ajax调用?

确保你有

<%= csrf_meta_tag %> 
在标题中