ECサイトなどを作るとき、消費税の計算が必ず出てくるので、その時にメソッドとしておけば便利ですよね。
今回は、ECサイトで商品の消費税を計算する想定で一連の流れを残します。
目次
モデルに消費税計算用のメソッドを記述
まずは「product.rb」にメソッドを描いちゃいます。
ECサイトで軽減税率が適用されているため、「1.08(8%)」になっています。
10%で計算したい場合には、ここを「1.10」などにしてあげてください。
ちなみに、「round」が必要な理由は、消費税をかけたときに、小数点第一まで表示されるようになってしまっているため、「round」を使って、小数点を切り上げしています。
# 消費税を加えた商品価格
def add_tax_price
(self.price * 1.08).round
end
ビューに表示させる
ビューで商品の価格に消費税を適用した状態の価格(税込価格)を表示させます。
先ほど記述した「add_tax_price」メソッドを利用して表示させます。
ここで急に出てきた「to_s(:delimited)」は3桁ごとにカンマ区切りで表示してくれる便利なメソッドです。
<%# 商品価格 %>
<p>商品価格(税込)<p>
<%= @product.add_tax_price.to_s(:delimited) %> 円
これで、税込の商品価格をネットショップでもみるようなカンマ区切りで表示させることができました!