便利なメソッド
商品の価格に自動的に消費税8%を足してくれるプログラムを実装する際にどのようなメソッドを使用すればよいのでしょうか
class Product < ApplicationRecord
def add_tax
self.price = (price * 1.08).round
end
end
実装はこちら
ここで使用されているメソッドはどのような働きがあるのでしょうか
self
selfはオブジェクトそのものを表します。またクラス内で使用される際には変数を参照する場合にも用いられます。
Productクラスのインスタンスである@productの値を参照することができます。
3行目ではself.priceにてインスタンス変数のpriceに次の値を代入することを表しています。
roundメソッド
roundメソッドは四捨五入することができます。
1.4.round は1
1.5.round は2
といった具合に四捨五入してくれます。
引数に桁数を渡すことができ
1.23456789.round(2) は1.23
といった具合に小数点以下の桁数を指定できる。
整数を四捨五入する際には引数に負数を指定することで実現する
123456789.round(-3) は123000000となる