ActiveRecord周り 俺的Tips #177
今日やったこと
ActiveRecordこねくり回してました
データサイエンティスト(笑)
いや違うけど。ActiveRecordのいろいろをメモ的に書く。ちなみに当方Rails歴数週間。
where
でIN
を使う
User.where(post_id: [1,2,3])
こんな感じでidが1か2か3のポストを持っているユーザーを取ってこれる。
他の条件と組み合わせたいときは
User.where("post_id in (?) and sex = ?", [1, 2, 3], "male")
的な。配列じゃなくてrangeを渡すこともできるよ。
Rails consoleで何か実行した時にSQLを表示しない
ActiveRecord::Base.logger = nil
console閉じれば元に戻るのでご安心を。
ランダムにレコードを一個取る
なんか試打ちしたい時とかに使える。
User.take
という感じ。
Rails consoleではtab補完が効く
Userモデルがpost_id
とか持っているときにUser.take.pos
とかまで打ってタブ打てば補完が効く。
結構重いのであまり実用性はないかも。
レコードが存在すればtrueそうでなかったらfalse
普通にif文とかで書いてもいいけど
User.where(sex: "male").present?
いいねぇ。
日付操作
ActiveRecordってよりActiveSupportというライブラリの機能らしい。
now = Time.now tomorrow = now + 1.day
こんな感じのことができる。day
にはdays
っていうエイリアスが張られているそうで2.days
とか言う感じにも書ける。
アクティブサポート(activesupport) - - Railsドキュメント
雑談
なんかActiveRecordの話じゃなくなってるけどまぁいいか。Ruby普通にたのしいです。