got this issue in production, but it works in development?

Here’s a snippet of the log from heroku.

�[1m�[35m (0.9ms)�[0m �[1m�[34mSELECT SUM(“carts”.“qty”) FROM “carts” WHERE “carts”.“product_id” = 1641�[0m
2018-10-13T01:57:05.838933+00:00 app[web.1]: �[1m�[35m (0.8ms)�[0m �[1m�[35mBEGIN�[0m
2018-10-13T01:57:05.841836+00:00 app[web.1]: �[1m�[35m (0.8ms)�[0m �[1m�[31mROLLBACK�[0m
2018-10-13T01:57:05.844891+00:00 app[web.1]: Completed 500 Internal Server Error in 49ms (ActiveRecord: 17.5ms)
2018-10-13T01:57:05.845990+00:00 app[web.1]:
2018-10-13T01:57:05.846119+00:00 app[web.1]: NoMethodError (undefined method empty?' for nil:NilClass): 2018-10-13T01:57:05.846157+00:00 app[web.1]: 2018-10-13T01:57:05.846206+00:00 app[web.1]: app/controllers/products_controller.rb:85:in block (2 levels) in show’
2018-10-13T01:57:05.846208+00:00 app[web.1]: app/controllers/products_controller.rb:77:in `show’
2018-10-13T01:57:05.847916+00:00 heroku[router]: at=info method=GET path="/products/1641" host=cryptic-inlet-13518.herokuapp.com request_id=035eb706-bb86-4dbd-86c7-a183b3a493e7 fwd=“99.248.30.134” dyno=web.1 connect=1ms service=59ms status=500 bytes=1754 protocol=https

This error in production occurs when the last item is put into a cart (and the campaign is funded). But it works fine in development.

Ok , I fixed this error. It’s not crashing but it’s not saving the last item either [or processing the order…]

Ok , I fixed this error. It's not crashing but it's not saving the last item either [or processing the order...]

Here's a snippet of the log from heroku.

�[1m�[35m (0.9ms)�[0m �[1m�[34mSELECT SUM("carts"."qty") FROM "carts" WHERE "carts"."product_id" = 1641�[0m
2018-10-13T01:57:05.838933+00:00 app[web.1]: �[1m�[35m (0.8ms)�[0m �[1m�[35mBEGIN�[0m
2018-10-13T01:57:05.841836+00:00 app[web.1]: �[1m�[35m (0.8ms)�[0m �[1m�[31mROLLBACK�[0m
2018-10-13T01:57:05.844891+00:00 app[web.1]: Completed 500 Internal Server Error in 49ms (ActiveRecord: 17.5ms)
2018-10-13T01:57:05.845990+00:00 app[web.1]:
2018-10-13T01:57:05.846119+00:00 app[web.1]: NoMethodError (undefined method empty?' for nil:NilClass): 2018-10-13T01:57:05.846157+00:00 app[web.1]: 2018-10-13T01:57:05.846206+00:00 app[web.1]: app/controllers/products_controller.rb:85:in block (2 levels) in show'

You have not shown us the code but I assume that on that line you have
a call of empty?, whatever you are calling empty? on is nil.

Colin

it got hung up on this line of code…

    format.html { render root_path, notice: 'Not sure what happened... please contact tech support.'}

``

I changed it to …

    format.html { redirect_to root_path, notice: 'Not sure what happened... please contact tech support.'}

``

At least it doesn’t crash now. lol.

I assume your automated tests do not exercise that condition.

Colin

I don’t know how to write tests yet. :slight_smile:
Maybe I need to find someone who can give me a few private lessons.

Work through railstutorial.org, it includes testing. It is free to use online.

Colin