社内Rails勉強会のふりかえりをやった

ふりかえりで出てきたなかで、Railsのコードリーディングやワークショップ的にコードを書いたりするグループ分けで、ふだんの仕事で接することのない組み合わせが出来るという話はたしかになーと思ったりして印象に残った。

TIL とポエム

ActiveRecord::FinderMethods#first のドキュメントに、きちんと If no order is defined it will order by primary key. と書かれていたので、 Model.where(...).first はプライマリキー (多くは id) での並び順が保証された最初の要素がとれることを想定したいところだけれど、 ActiveRecord::FinderMethods#find_by の方にはそういった記述がないため並び順は (仕様として) 保証されていないのかなと思った。意図を明示する意味合いと、Rails で暗黙的っぽいところの仕様についてアップグレード後も振る舞いが維持されるものか気になったりもするので、並び順を保証したい場合はいずれも order を明示的に書いた方がいいのかなと思ったりしている。