Ruby, Rails
【Rails】eager_load, preload, joins入門
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
joins 1 2 [1] pry(main)> User.joins(:tags) User Load (21.3ms) SELECT `users`.* FROM `users` INNER JOIN `registered_tags` ON `registered_tags`.`user_id` = `users`.`id` INNER JOIN `tags` ON `tags`.`id` = `registered_tags`.`tag_id` 1 2 3 select * from tables inner join other_tables のオーソドックスな形。 eager_load 1 2 [3] pry(main)> User.eager_load(:tags) SQL (0.7ms) SELECT `users`.`id` AS t0_r0, `users`.`twitter_id` AS t0_r1, `users`.`uuid` AS t0_r2, `users`.`name` AS t0_r3, `users`.`description`

【Ruby】業務で得た小ネタ的知識まとめ
· ☕ 1 åˆ†ã§èª­ã‚ã¾ã™
自分が指摘されたり、書いてあるコードを見て「なるほど〜〜」と思ったやつ。 フルネーム表記の仕方 1 2 3 "#{last_name}#{first_name}" # じゃなくて [last_name, first_name].compact.join(' ') 「1対多(0)もあり」

【Rails】STIのアソシエーション
· ☕ 2 åˆ†ã§èª­ã‚ã¾ã™
STIとポリモーフィックの違い ポリモーフィック STI 関連テーブルが複数ある 複数モデルで1つのテーブルを共有する 自分と紐づく親が複数 基幹モデルを継

【Ruby】オブジェクトの一意性について
· ☕ 2 åˆ†ã§èª­ã‚ã¾ã™
オブジェクトとしての一意性 Rubyでは全てがオブジェクトである。 そのため、同じオブジェクトに対してそのものを変形するような処理を行うと、同期