babie steps

作業療法記録

中間テーブルにidつけるとWeb APIが綺麗

なんかActiveRecordが中間テーブルにid付けるのに反対する人たまに見るんだけど、俺は付けた方がいいと思う。というのは、Web APIがすっきりするから。

例えば、followships って中間テーブルがあったとして、カラムに followee_id, follower_id って名前を付けるとしようじゃないか。(followship, followee 共に造語です。-shipsを付けて関係を表し、-ee を「される人」-er を「する人」に付けるのが個人的な趣味なのです。interviewee/interviewerの関係ね。話題が逸れるけど俺は書く!オススメはしません)

で、フォロワー作るときはいいとして、フォロワー削除するときのAPIにidナシとidアリじゃ違いが出るじゃんね。

DELETE /users/1/followships?followee_id=256&follower_id=1
_人人人人人人人人_
> かっこわるい <
 ̄Y^Y^Y^Y^Y^Y^Y ̄
DELETE /users/1/followships/4
_人人人人人人人_
> かっこいい <
 ̄Y^Y^Y^Y^Y^Y ̄

ActiveRecordってそもそもRailsで使うのが主目的じゃんすか。んで、Railsってウェブアプリケーションフレームワークじゃないっすか。なんで、Web APIが綺麗になるなら、データベースの領域とはいえ、一考に値すると思うんすよね。いかがか。