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

17 views
Skip to first unread message

Joe Guerra

unread,
Oct 19, 2018, 9:24:26 AM10/19/18
to Ruby on Rails: Talk
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.  


Joe Guerra

unread,
Oct 19, 2018, 9:43:01 AM10/19/18
to Ruby on Rails: Talk
Ok , I fixed this error.  It's not crashing but it's not saving the last item either [or processing the order...]

Colin Law

unread,
Oct 19, 2018, 10:24:36 AM10/19/18
to Ruby on Rails: Talk
On Fri, 19 Oct 2018 at 14:43, Joe Guerra <JGu...@jginfosys.com> wrote:
>
> Ok , I fixed this error. It's not crashing but it's not saving the last item either [or processing the order...]
>
> On Friday, October 19, 2018 at 9:24:26 AM UTC-4, Joe Guerra wrote:
>>
>> 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

>> 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.
>>
>>
> --
> You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to rubyonrails-ta...@googlegroups.com.
> To post to this group, send email to rubyonra...@googlegroups.com.
> To view this discussion on the web visit https://groups.google.com/d/msgid/rubyonrails-talk/fe11510c-40c7-4afc-b61d-6999ef3b278d%40googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.

Joe Guerra

unread,
Oct 19, 2018, 10:38:02 AM10/19/18
to Ruby on Rails: Talk
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.

Colin Law

unread,
Oct 19, 2018, 10:49:21 AM10/19/18
to Ruby on Rails: Talk
I assume your automated tests do not exercise that condition.

Colin

Joe Guerra

unread,
Oct 19, 2018, 10:51:27 AM10/19/18
to rubyonra...@googlegroups.com
I don't know how to write tests yet.  :)
Maybe I need to find someone who can give me a few private lessons.

Colin Law

unread,
Oct 19, 2018, 10:55:39 AM10/19/18
to Ruby on Rails: Talk
Work through railstutorial.org, it includes testing.  It is free to use online.

Colin

Reply all
Reply to author
Forward
0 new messages