attributes
は、Active Recordオブジェクトの属性のハッシュを返すメソッドです。これにより、Active Recordオブジェクトの属性にアクセスし、更新することができます。
以下は、簡単な例です。User
という名前のモデルがあり、その中にname
、age
、address
という属性があるとします。
Ruby
class User < ApplicationRecord
end
この場合、User
オブジェクトを作成し、その属性にアクセスする方法は次のとおりです。
Ruby
user = User.new(name: "John", age: 30, address: "123 Main St")
この場合、User
オブジェクトの属性は以下のようになります。
Ruby
{ "id" => nil, "name" => "John", "age" => 30, "address" => "123 Main St", "created_at" => nil, "updated_at" => nil }
このように、id
、created_at
、およびupdated_at
は自動的に設定されます。
次に、attributes
メソッドを使用して、User
オブジェクトの属性を取得する方法を見てみましょう。
Ruby
attributes = User.attributes
この場合、attributes
変数には以下のようなハッシュが格納されます。
Ruby
{ "id" => nil, "name" => "John", "age" => 30, "address" => "123 Main St", "created_at" => nil, "updated_at" => nil }
attributes
を使用することで、Active Recordオブジェクトの属性に簡単にアクセスできます。例えば、person
オブジェクトのname
属性を変更するには、次のようにします。
Ruby
user.attributes = { name: "Jane" }
この場合、User
オブジェクトのname
属性がJane
に変更されます。