はじめに 例えば Qiita::Team のような、企業やチーム向けに提供するマルチテナントな Web サービスの場合、 テナントを分ける方法としてぱっと思いつくのは すべてのテーブルに tenant_id 列を追加し、tenant_Id で常に絞り込む テナントごとにデータベースを分ける の2つ。 このうち tenant_id 列を追加する方法だと、使うのに苦労する gem がある。 Devise とか Devise とか Devise とか。いやまぁ、default_scope でやれないことはないかもしれないけど。 テナントごとにデータベースを分ける方法なら、上手くデータベースさえ切り替えられれば、 Devise もそのまま使えるはず。 データベースを分ける方法でマルチテナントを実現するための gem に Apartment がある。 influitive/apartment これを
![Rails + Apartment でマルチテナントな Web サービスを作る - present](https://cdn-ak-scissors.b.st-hatena.com/image/square/34b9940d685e61ecae6d239a3c1641726977309d/height=288;version=1;width=512/http%3A%2F%2Fcdn-ak.f.st-hatena.com%2Fimages%2Ffotolife%2Fg%2Fgriefworker%2F20140330%2F20140330172959.png)