0

酒宴で関数を変更する際に問題があります。関数は copy_price と呼ばれます

元のバージョンは次のようなものです。

def copy_price
  if variant
    self.price = variant.price if price.nil?
    self.currency = variant.currency if currency.nil?
  end
end

これは、価格がnullの場合にのみline_itemの単価を更新することを理解していれば、注文ページ内にあるべきではないと思います(注文が完了した後)。注文が完了した後でも、管理セクション内でマスター価格が変更されると、注文が変更されることに気付きました。

だから私はcopy_price関数が原因だと思っていましたが、変更しようとするたびに変更はありません. 例えば

def copy_price
  @price_run = true
   self.price = 30.00
end

def get_price_run
  if @price_run == true
    return "true"
  else
    return "false"
  end
end

ビュー内で get_price_run を呼び出して、プライス ランが実際に実行されたかどうかを出力します。false を出力し続けます。それがなぜなのか、誰もが知っていますか。

4

1 に答える 1

0

私は問題を理解しました。関数 copy_price は、品目が最初に作成されたとき (たとえば、カートに入れるとき) にのみ呼び出されます。そのため、管理者の注文ページを見ているときに呼び出されたかどうかを調べようとしても、呼び出されませんでした。

于 2013-03-04T15:20:37.517 に答える