2011-09-11 31 views
0

私はギャラリーアプリケーションを作成しています。私は公開ギャラリーと非公開ギャラリーを持つことが必要です。私はパブリックギャラリーをかなり整えていると思いますが、私はプライベートギャラリーを構想するのに苦労しています。私はギャラリーと画像でプライベート名前空間を持つ可能性を考えています。そして、ユーザーを特定のギャラリーの所有者に割り当てて、ギャラリーにアクセスできる唯一のユーザーにします。異なる名前空間から名前空間のリソースを作成する

私がそういったことをしたら、管理者ネームスペースから新しいプライベートギャラリーを作成できますか?

答えて

0

別々の名前空間を使用する代わりに、認可にCanCan(https://github.com/ryanb/cancan)のようなものを使用するのはどうですか?彼はそれを所有している場合、ユーザーが唯一のプライベートギャラリーを見ることができるので、

can :read, Gallery, :private => true, :user_id => user.id 

あなたはprivateのブールフィールドのような何かを持っている可能性があります。

+0

CanCanは、ユーザーがリソースにアクセスできるかどうかを判断するためには、ログインする必要があることを理解していますか?私が公共リソースを必要としていると言えば、ユーザーがアクセスするためにログインする必要はないということです。 – YuKagi

+0

@YuKagi私はユーザーがログインしていない場合、彼らはゲストだと考えています。 'can:read、Gallery、:private => false' 誰でも(ログインしていないユーザーも)私的でないギャラリーを閲覧できると思います。更新:あなたは ':private => false'の部分を無視することさえできるかもしれません。他の能力がプライベートギャラリーを制限しているからです。 –

+0

CanCanでRailscastを見ただけで完璧に見えます。私はまだそれを確認していないが、それは有望に見える。この方向で私を指摘してくれてありがとう、ありがとう。 – YuKagi