initializeメソッドとは
initialize
メソッドは、Active Recordモデルなどのクラス定義内で使用される特殊なメソッドです。このメソッドは、新しいオブジェクトが作成されたときに自動的に呼び出されます。通常、initialize
メソッドは、クラス内でインスタンス変数の初期化や設定を行うために使用されます。
例えば、以下はActive Recordモデル内でのinitializeメソッドの使用例です。
class User < ApplicationRecord
attr_accessor :name, :email
def initialize(attributes = {})
@name = attributes[:name]
@email = attributes[:email]
end
end
この例では、User
モデルのinitialize
メソッドが定義されています。このメソッドは、ユーザーが新規作成されたときに呼び出され、name
とemail
のインスタンス変数を設定します。
attributes
パラメータは、ユーザーが新規作成される際に渡される属性のハッシュです。このinitialize
メソッドを使用することで、新しいユーザーオブジェクトが作成されたときに、自動的にname
とemail
の値が設定されます。
一般的に、RailsのActive Recordモデルでは、データベースのレコードを表すクラスを定義します。このため、initialize
メソッドは通常、インスタンス変数を初期化するために使用されることが多いですが、必ずしも必要ではありません。データベースのレコードとの対応付けは、Active Recordの仕組みによって自動的に行われます。