我有一个在开发中运行良好的应用程序,但是当我部署它时,我在访问我的购物车控制器时一直收到此错误:
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'
提前致谢!
答案 0 :(得分:0)
解决了我的问题,我不知道为什么,但我的@cart_items不是一个数组,所以我将@ cart_items.count更改为@ cart_items.length并且它有效!
谢谢!
答案 1 :(得分:0)
我遇到了同样的问题并且与“计数”或“长度”无关,问题与我使用的ruby版本(ruby 2.4 dev)有关,请确保您使用的是稳定的ruby和rails版本。
请参阅issue #23720