2013-07-30 2 views
1

Мои вопросы Подробности здесьПеребор печати переменных Instance нежелательные вещи

undefined method `items' for nil:NilClass in @cart.items.each

дополнительные вещи, которые я добавил были корзину метод в контроллере приложения, а также сделал helper_method в сделать его доступным во всех представлениях по заявке

helper_method :cart 

def cart 
    @cart = Cart.find(session[:cart_id]) 
    end 

Когда на мой взгляд, я итерацию по переменной @cart как этот

<%= cart.items.each do |item| %> 
    <tr> 
     <td><%= item.product.title%></td> 
     <td><%= item.product.price%></td> 
    </tr> 
    <% end %> 

Это показывает, что это

enter image description here

Почему печать, что верхняя вещь? Я знаю, что это результат item.product.title и все такие переменные. Как удалить это?

ответ

1

Почему печать этой верхней вещи?

Потому что вы это говорите. Когда вы окружаете рубиновый код с <%= %>, вы говорите ему, чтобы отобразить результат прилагаемого кода. Поскольку вы помещаете его вокруг блока each, он отображает результат each, который представляет собой коллекцию, на которую он был вызван.

Чтобы удалить его, используйте вместо этого <% %>.

+0

Это была ужасная глупая опечатка. Спасибо за быстрый ответ. – mrudult

Смежные вопросы