Я хочу сделать корзину покупок, и я создал новый класс в рельсах, который вызывает ShoppingCart. В классе у меня есть метод экземпляра, называемый total_qualtity. Я называю этот класс в поле зрения и попытаться вызвать метод экземпляра, но я получилОшибка метода класса экземпляров Rails
«NoMethodError в # По умолчанию индекс» и «неопределенный метод` total_quantity»для„#“: String». Пожалуйста, помогите мне исправить это.
это мой ShoppingCart.rb
class ShoppingCart
attr_accessor :items
def initialize items = Hash.new
@items = items
end
def total_quantity
total = 0
@items.each do |key, value|
total += value.to_i
end
return total
end
и это мой DefaultView.html.erb
<% @cart = session[:cart] || ShoppingCart.new
session[:cart] = @cart
puts session[:cart].total_quantity --> This is place i got error
%>
<div id="header" class="container">
<nav class="navbar navbar-default">
<div class="navbar-header col-sm-4 col-md-3">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="#"><%= image_tag 'logo.png'%></a>
</div>
</nav>
</div>
Вы называете это строкой, а не тележкой. –
Не могли бы вы это объяснить? я не понимаю, почему он содержит строку – siliya
Что-то еще помещает что-то в сеанс, и это строка. –