ActionView :: Template :: Error(无法访问ThreadSafe :: Array): - 生产

时间:2016-01-06 17:38:04

标签: ruby-on-rails

我有一个在开发中运行良好的应用程序,但是当我部署它时,我在访问我的购物车控制器时一直收到此错误:

ActionView :: Template :: Error(无法访问ThreadSafe :: Array)

它说错误在这一行:

(<%= @cart_items.count %> itens)

有人知道怎么解决吗?

编辑:这是堆栈跟踪

I, [2016-01-05T21:45:14.679041 #4470]  INFO -- : Processing by 

CartsController#show as HTML
I, [2016-01-05T21:45:14.725732 #4470]  INFO -- :   Rendered carts/show.html.erb within layouts/application (4.7ms)
I, [2016-01-05T21:45:14.725894 #4470]  INFO -- : Completed 500 Internal Server Error in 47ms (ActiveRecord: 1.9ms)
F, [2016-01-05T21:45:14.727838 #4470] FATAL -- :
ActionView::Template::Error (Cannot visit ThreadSafe::Array):
    22:   <div class="panel-heading">
    23:     <h3 class="panel-title">
    24:       <span aria-hidden="true" class="glyphicon glyphicon-shopping-cart"></span> Meu carrinho <small><% if @cart_items.present? %>
    25:         (<%= @cart_items.count %> itens)
    26:         <% end %>
    27:       </small>
    28:     </h3>
  app/views/carts/show.html.erb:25:in `_app_views_carts_show_html_erb___1773486621924863592_30719520'

提前致谢!

2 个答案:

答案 0 :(得分:0)

解决了我的问题,我不知道为什么,但我的@cart_items不是一个数组,所以我将@ cart_items.count更改为@ cart_items.length并且它有效!

谢谢!

答案 1 :(得分:0)

我遇到了同样的问题并且与“计数”或“长度”无关,问题与我使用的ruby版本(ruby 2.4 dev)有关,请确保您使用的是稳定的ruby和rails版本。

请参阅issue #23720