1

ユーザーと写真の2つのモデルがあります

写真には次の方法が含まれています。

      def passedTime datetime
        (datetime > (Date.today - 1.year)) ? ((distance_of_time_in_words datetime,   Date.today) + ' ago') : datetime.strftime('%d %b %Y')
      end

このメソッドをベスト プラクティスとしてユーザー モデルに含めるにはどうすればよいですか?

4

1 に答える 1

3

この場合、メソッドを lib フォルダーのモジュールに入れ、両方のモデルに含めることができます。また、慣例として、snake_caseメソッドを宣言するときは固執する必要があります。

# lib/date_time.rb

module DateTime

  def passed_time datetime
    (datetime > (Date.today - 1.year)) ? ((distance_of_time_in_words datetime, 
    Date.today)    + ' ago') : datetime.strftime('%d %b %Y')
  end
end

両方のモデルにモジュールを含めます

# User.rb

class User < ActiveRecord::Base
include DateTime

# Photo.rb

Class Photo < ActiveRecord::Base
include DateTime
于 2013-06-11T03:17:07.167 に答える