年齢の表示
app/models/profile.rb def age
return '不明' unless birthday.present?
end
誕生日を入れていない場合は、不明と表示するようにする。
Time.zone.now
現在の時間を取得
Time.zone.now.yday
一年の日付から何日経ったのか数えてくれる。
def age
return '不明' unless birthday.present?
years = Time.zone.now.years - birthday.year
days = Time.zone.now.yday - birthday.yday
if days < 0
"#{years - 1}歳"
else
"#{years}歳"
end
end
これで、年齢を表示することができる。
app/models/user.rb
delegate :birthday, :age, :gender, to: :profile, allow_nil: true
ここにageを追加
app/views/profiles/show.html.haml
ここで、現在birthdayと表示されているところを、ageにしてみます。
そうすると年齢が、計算されてい出てきました。
こう言ったやり方も調べれば出てきます👍