ActiveRecordで使用するメソッド
メソッド | 役割 | 戻り値 | 記述例 |
---|---|---|---|
valid? | 対象のオブジェクトが有効かどうか確認 | true or false | user.valid? |
save | データベースに対象のオブジェクトを保存させる | true or false | user.save |
create | モデルの生成と保存を同時におこなう | 成功:オブジェクト自身 失敗:エラー |
User.create(name: 'hoge', email: 'fuga') |
destroy | 対象のオブジェクトの削除 | 成功:オブジェクト自身 失敗:エラー |
user.destroy |
find | 引数にidを入れてデータベースからレコードを取得 | 成功:対象のオブジェクト 失敗:エラー |
User.find(1) |
find_by | 引数にkeyとvalueを入れて、データベースからレコードを取得 | 成功:オブジェクト自身 失敗:nil |
User.find_by(name: 'hoge') |
update | 属性のハッシュを渡して、データベースの値を更新させる | 成功:true or 失敗:エラー | user.update(name: 'hoge', email: 'fuga') |
update_attribute | 特定の属性のみを更新する 第一引数にkey、第二引数にvalue 検証の条件を無視して更新できる |
成功:true or 失敗:エラー | user.update_attribute(:name, 'piyo') |
使用パターン
saveメソッドの返り値が true
or false
になるため、controllerのcreateアクションの実装時に使われる
hoge_controller.rb
def create
tweet = Tweet.create(tweet_params)
if tweet.save
# 保存成功時の処理
else
# 保存失敗時の処理
end
end