0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ユーザープロフィールページ作成⑦

Posted at

年齢の表示

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にしてみます。

そうすると年齢が、計算されてい出てきました。

こう言ったやり方も調べれば出てきます👍

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?