Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/385.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将Fixnum与nil进行比较失败_Javascript_Ruby On Rails_Json - Fatal编程技术网

Javascript 将Fixnum与nil进行比较失败

Javascript 将Fixnum与nil进行比较失败,javascript,ruby-on-rails,json,Javascript,Ruby On Rails,Json,当您将数字与nil进行比较时,将引发FixNum with nil错误 在您的情况下,总SKU可能为零。因此,使用to_i将nil转换为整数 @order.products.count

当您将数字与nil进行比较时,将引发FixNum with nil错误

在您的情况下,总SKU可能为零。因此,使用to_i将nil转换为整数

@order.products.count<@order.try:total_sku.to_i


你有什么问题?嗨,欢迎来到StackOverflow。请参阅关于如何提出适当问题并根据指导原则改进您的问题。首先,你至少应该问一个问题。你在@order.total\u SKU中的总SKU为零。是的,所以我要做的是你必须以某种方式处理零。您可以将.添加到_i方法中,它将返回0。或者使用。零?方法并添加一些逻辑,当它为真时执行。nil到int等于零,假设乘积计数为0,0<0或乘积计数为3,3<0这是奇怪的比较吗?零比较的点是什么?
def create
    @product = Product.new(product_params)
    @order = Order.find(@product.order_id)

    if @order.products.count < @order.total_skus   
      if @product.save
        #Dir.mkdir "/home/deploy/katalister/shared/images/upload/images/#{@product.order.order_id}/#{@product.product_id}" if Rails.env.test?
        Dir.mkdir "#{Rails.root}/public/uploads/#{@product.order.order_id}/#{@product.product_id}" if Rails.env.development?
        # redirect_to order_path(@product.order.secure_url)
        render json:{status: true, message: "Product received successfully."}
      else
        render json:{status: false, message: @product.errors.messages[:product_id].join(', ')}    
      end
    else
      render json:{status: false, message: "count ok "}    
    end    
  end