Ruby on rails 购物车在rails中通过book

Ruby on rails 购物车在rails中通过book,ruby-on-rails,ruby,ruby-on-rails-3,Ruby On Rails,Ruby,Ruby On Rails 3,通过这本书: 基于Rails的敏捷Web开发 我正在为我的应用程序创建购物车。有这样的代码: class Cart < ActiveRecord::Base attr_accessible :id has_many :line_items, dependent: :destroy def add_article(article_id) current_item = line_items.find_by_ART_ID(article_id) if c

通过这本书:

基于Rails的敏捷Web开发

我正在为我的应用程序创建购物车。有这样的代码:

class Cart < ActiveRecord::Base
    attr_accessible :id
    has_many :line_items, dependent: :destroy

  def add_article(article_id)
    current_item = line_items.find_by_ART_ID(article_id)
      if current_item
      current_item.quantity += 1
      else
      current_item = line_items.build(ART_ID: article_id)
      end
    current_item
  end
  def total_price
    line_items.to_a.sum { |item| item.total_price(item.ART_ID) }
  end
  def total_count
    line_items.to_a.sum { |item| item.quantity }
  end

end

一切都很好,但怎么了?为什么rails 3.2.6和ruby 1.9.3不理解我的+=分配

这不是+=”的问题,问题是您正试图用代码实现这一点

nil + 1

数量首次为零。

什么是迁移:行\u项目?在我看来,数量为零,因此nil+=1将导致错误。Rails是否将nil强制为0?如果您是Rails新手,您可能希望从一个类似的引擎开始,并对其进行修改以满足您的需要。在这个时代,构建购物车应用程序是有点多余的。我问过,如何做到这一点,首先是nil+1=1?哦,我是不是很蠢)新商品的current_item.quantity=1解决这个问题。那好吗?
nil + 1