0

我有一个分配物品价格的方法。该方法正确计算价格并在视图中显示该价格,但在控制台中它仍然为零。怎么定价不省钱?

编辑:价格是一个很大的小数,如果它有所作为。

def calc_price
  self.price = 0
  newprice = 0
  pr = 0

  pr = if amount < 10
    product.pricerange0
  elsif amount < 25 
    product.pricerange1
  elsif amount < 50 
    product.pricerange2
  elsif amount < 100
    product.pricerange3
  elsif amount < 250
    product.pricerange4
  elsif amount < 500
    product.pricerange5
  end

  inkprice = (self.inkcolors*1.50)
  newprice = ((pr+inkprice)*self.amount)
  self.price = newprice
  return self.price
end

在控制台中运行该方法后,它会正确分配价格,但不会从视图中分配。

4

1 回答 1

0

您只需要在设置值后调用 save :

def calc_price
  self.price = 0
  newprice = 0
  pr = 0

  pr = if amount < 10; 0; elsif amount < 25; 
  product.pricerange1; elsif amount < 50; 
  product.pricerange2; elsif amount < 100;
  product.pricerange3; elsif amount < 250;
  product.pricerange4; elsif amount < 500;
  product.pricerange5; end

  inkprice = (self.inkcolors*1.50)
  newprice = ((pr+inkprice)*self.amount)
  self.price = newprice # this just sets the value in this object
  self.save             # this will persist the value in the database
  return self.price
end
于 2013-10-20T04:02:40.997 回答