如何使用merge current_user.id向Ruby发布json请求

如何使用merge current_user.id向Ruby发布json请求,ruby,json,merge,request,session-cookies,Ruby,Json,Merge,Request,Session Cookies,我对RubyonRails没有经验。我有一个正在运行的web应用程序,我想用android应用程序访问它。我使用json从我的移动应用程序请求 我可以通过post请求登录。之后我想买一些产品。所以我必须更新数据。为此,我想从ruby中使用order\u控制器创建一个方法。该方法如下所示: @order = Order.create(params.require(:order) .permit(ordered_products_attributes: [:quantity, :pr

我对RubyonRails没有经验。我有一个正在运行的web应用程序,我想用android应用程序访问它。我使用json从我的移动应用程序请求

我可以通过post请求登录。之后我想买一些产品。所以我必须更新数据。为此,我想从ruby中使用
order\u控制器
创建一个方法。该方法如下所示:

@order = Order.create(params.require(:order)
        .permit(ordered_products_attributes: [:quantity, :product_id])
        .merge(user_id: current_user.id))
第一部分我可以用java复制,但我不知道如何才能将“合并”部分与当前的用户id结合起来

当我用web应用程序购买东西时观察终端时,我只看到了我可以用java为json请求复制的相同语句。 发送post请求时,我收到一个错误:

NoMethodError(nil:NilClass的未定义方法'id'):

因此,我尝试在登录时得到的标题中发布cookie。我也犯了同样的错误


如何解决此问题?

什么是“我可以用java复制”?当前用户是如何填充的?您是否在每个请求中发送凭据以处理查找正确用户的问题
current_user
在这里可能是
nil
,因此您会得到一个例外。我的java json post请求看起来像是来自ruby环境的web应用程序在终端中的请求。OrdersController处理#创建为json参数:{“utf8”=>“V”,“order”=>{“ordered_products\u attributes”=>{>{“0”=>{“quantity”=>“1”,“product_id”=>11},…,“13”=>{“quantity”=>0”,“product_id”=>11}}}}在5ms NoMethodError中完成了500个内部服务器错误(对于nil:NilClass,未定义方法“id”):这是我的大问题,我对ruby不太了解。我认为当前用户是在Desive库中定义的。但我还没有找到它。我必须在我的请求中找到当前用户,但我不知道它必须是什么样子。好吧,那么你正在使用Desive。你需要在提供请求之前登录一个用户。你的JSON API如何处理authe使用Desive时,简单的做法是使用以下宝石: