Ruby on rails 3 使用http基本授权分配用户\u id

Ruby on rails 3 使用http基本授权分配用户\u id,ruby-on-rails-3,Ruby On Rails 3,我现在在API中切换到http基本授权以使测试更容易,但现在我无法获得用户id。。。以下是我的ThingController中与Desive一起工作的代码: def create @thing = Thing.new(params[:thing]) @thing.user_id = current_user.id @thing.save if @thing.save redirect_to user_path else rend

我现在在API中切换到http基本授权以使测试更容易,但现在我无法获得用户id。。。以下是我的ThingController中与Desive一起工作的代码:

  def create
    @thing = Thing.new(params[:thing])
    @thing.user_id = current_user.id
    @thing.save
    if @thing.save
      redirect_to user_path
    else
      render :new
    end
  end
现在,这给了我以下错误:

为nil调用id,它会错误地为4——如果您确实想要nil的id,请使用object_id

它引用了这条线

@thing.user_id = current_user.id

我不知道在创建时如何为我的物品分配用户id。。任何帮助都将不胜感激

你似乎没有得到答案。我也面临同样的问题。我发现这个维基很有用
您可以使用以下方法声明您的登录

  def after_sign_in_path_for(resource)    
    some_class_url(session[:some_class_id])
  end

这可以让你在目标行动中做你需要做的事情

看看下面的答案,看看是否有帮助。我知道nil的id==4。这不是我的问题。我在问如何不将nil的id分配给我的东西。user_id。现在它没有指向任何东西。我需要找到一种方法,在使用基本身份验证登录时保存当前用户的id。