Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 类似购物车的rails应用程序_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 类似购物车的rails应用程序

Ruby on rails 类似购物车的rails应用程序,ruby-on-rails,ruby,Ruby On Rails,Ruby,我是一个新的rails开发人员,正在创建一个网站,提供干洗服务 用户将选择他们想要挑选的物品数量,如裤子、衬衫等 这是我的桌子: create_table "products", force: :cascade do |t| t.string "name" t.decimal "price" t.datetime "created_at", null: false t.datetime "updated_at", null: false t.string "

我是一个新的rails开发人员,正在创建一个网站,提供干洗服务

用户将选择他们想要挑选的物品数量,如裤子、衬衫等

这是我的桌子:

create_table "products", force: :cascade do |t|
  t.string   "name"
  t.decimal  "price"
  t.datetime "created_at",   null: false
  t.datetime "updated_at",   null: false
  t.string   "product_type"
  t.text     "image"
end
所有产品都保存在数据库中。我希望每个用户能够在订单页面上选择衣服的数量和类型以及数量

我将如何添加订单总额并将交易添加到所有选定项目的最近订单历史记录中

我相信,一旦选中该项,我将需要jquery随时更新所选的数据库。是否将所选项目添加到订单数据库(如果选中),并汇总订单总额以进行付款


对不起,没有问题,提前谢谢

事实上,我最近才建立了一个电子商务,下面是我所做的。 我分别创建了名为
Cart
CartItem
的模型。您只需将型号
手机
切换到
产品
(或用于存储与产品相关信息的任何型号(即价格、可用数量等)

因此,使用这些模型及其各自的属性,您可以通过每次进入购物车页面时运行的
calculate\u total
方法来计算总计:

def calculate_totals
  phones_array = []
  if @user.cart.cart_items.present?
    @user.cart.cart_items.each do |item|
      phone_total = item.phone.price * item.quantity_sold
      phones_array << phone_total
    end
    @subtotal = phones_array.inject{|memo,n| memo + n}
    @tax_total = @subtotal * 0.13
    @total = @subtotal + @tax_total
  end
end

def cart
  calculate_totals
end
def计算_总计
电话\u数组=[]
如果@user.cart.cart\u items.present存在?
@user.cart.cart|u items.each do| items|
电话\总计=item.phone.price*item.quantity\已售出

这是一个非常宽泛的问题。基本上,它相当于“我如何编写这个应用程序?”?你认为一篇简短的stackoverflow帖子可以回答这个问题吗?不,我不是问如何编写这个应用程序。我问的是计算所选项目订单总数的最佳方法。网络上的文档很少,所以我觉得这会让很多ruby开发人员受益。嗯,要获得订单总数,你需要获得订单的行项目简单的说,这就是“计算”部分。但是你还有另外一个问题:“如何将交易添加到用户最近的订单历史记录中?”,这意味着你还没有完全想象如何建立订单历史记录等。当然,你还没有太多关于现有应用程序的文档。你需要的是关于一般应用程序设计/架构的课程/书籍/知识。所有这些对于这个网站来说都太广泛了。我有另一个数据库,其中包含基本用户信息、地址、,ect带有我的帐户页面。该页面显示该特定用户的所有信息。每个用户都有一个订单历史记录列,目前仅为空。订单历史列?否,这将永远不会工作。它应该是单独的表,
orders
t.integer  "cart_id"
t.integer  "phone_id"
t.integer  "quantity_sold" 
def calculate_totals
  phones_array = []
  if @user.cart.cart_items.present?
    @user.cart.cart_items.each do |item|
      phone_total = item.phone.price * item.quantity_sold
      phones_array << phone_total
    end
    @subtotal = phones_array.inject{|memo,n| memo + n}
    @tax_total = @subtotal * 0.13
    @total = @subtotal + @tax_total
  end
end

def cart
  calculate_totals
end