Javascript 将Fixnum与nil进行比较失败
当您将数字与nil进行比较时,将引发FixNum with nil错误 在您的情况下,总SKU可能为零。因此,使用to_i将nil转换为整数 @order.products.count<@order.try:total_sku.to_iJavascript 将Fixnum与nil进行比较失败,javascript,ruby-on-rails,json,Javascript,Ruby On Rails,Json,当您将数字与nil进行比较时,将引发FixNum with nil错误 在您的情况下,总SKU可能为零。因此,使用to_i将nil转换为整数 @order.products.count
你有什么问题?嗨,欢迎来到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