わかりました、この db スキーマ (リレーション) があるとします:
|User | (1-->n) |Customer | (1-->n) |Car | (1-->n) |Support |
|--------| |---------| |-----| |-----------|
|id | | user_id | |Brand| |Description|
|username| |lastname | |PS | |Cost |
|password| |firstname| |seats| |hours |
|... | |.. | |... | |... |
テーブル User は Authlogic によって生成されます。
私には2人の登録ユーザーがいて、それぞれに顧客がいます。Authlogic を使用すると、認証されたユーザーのみがコントローラー/ビューにアクセスできるようになります。それは問題ありません。それが Authlogic の目的です。
ここで、user#1 が user#2 の顧客に属する情報にアクセスしないようにする必要があります。
つまり、ユーザー #1 がhttp://myapp.com/carsにアクセスすると、ユーザー #1 の顧客に属する車のリストが表示されます。
id=131 の車が user#1 の顧客に属している場合、user#1 だけがこの情報 ( http://myapp.com/car/1 ) にアクセスできる必要があります。ユーザー#2 がブラウザに同じリンクを挿入した場合、この情報を見ることができる必要はありません。
レコードが current_user に関連付けられているかどうかを確認するために、ユーザーと各 db テーブルの間に関係を作成することを提案する人もいました。
どう思いますか?最善のアプローチ/ソリューションは何ですか?