2011-01-09 16 views
1

userユーザーのみが自分のdiary_entriesを参照/編集/作成できるように、多くのdiary_entriesdeviseとRailsのユーザー固有の "リソース"?

diary_entriesは、ユーザーにプライベートですしています。

私は以前このパターンを実装しておらず、これを行う方法を見つけようとしています。

最初のステップはbefore_filter :authenticate_user!ですが、diary_entriesはまだ登録済みユーザーの「共有」リソースになります。

diary_entries#createのアクションでは、@diary_entry.user = current_userを設定します。 @diary_entry.user == current_userの場合にのみ、編集/更新を許可することができます。

インデックスアクションでは、すべての日記エントリの代わりにcurrent_user.diary_entriesが表示されます。

ここで正しい行に沿って考えていますか?これを行うより良い方法はありますか?

答えて

3

CanCanを使用してアクセス許可を実装することをおすすめします。ユーザーのdiary_entriesへのアクセスを制限するのは非常に簡単です。それはまた非常に使いやすいです。パーミッションを扱う独自のコードを書いてはいけません。さもなければ、バグがあればプライバシーやセキュリティを危険にさらす危険があります。

+0

CanCanは私が提案したものとまったく同じように見えますが、集中化された柔軟な方法でそれを行います。ありがとう、私はそれを試してみよう! – randomguy

+0

CanCan関連が見つかりましたのでうれしいです。私はコードに貢献して以来、偏っていますが、とても素晴らしいと思います。 – bowsersenior

関連する問題