0

私はCanCangemでRails3を使用しています。モデルUsersNetworkshas_many :through => Rolesです。この部分は正常に機能します。

現在、CanCanを使用しているため、/ networkページでは、ユーザーがネットワークにアクセスできる場合にのみネットワークが表示されます。これも問題なく動作します。

CanCanをネストされたリソースと組み合わせることができることは知っていますが、/ users / 1 / networkのルートが冗長になっていますか?オプション?勧められた?RESTful?Rails-y?それを持っている特別な理由はありますか?ユーザーがアクセスできるネットワークのみを表示できるようにしたいのですが、ネットワークインデックスが既にフィルターとして機能している場合、ネストされたリソースがより適切な方法であるかどうかはわかりませんでした。

4

1 に答える 1

0

私にとって、ルートは、アプリケーションを使用している人々のコンテキストで意味をなす必要があります。ルートをCRUDできる管理者としてログインしている場合は、ルートに関連するすべての処理がここで行われるため、/networksを介してこれを実行する必要があります。

/networks            #list all networks
/networks/new        #add network
/networks/1          #show network
/networks/1/edit     #edit network

ただし、ユーザーの観点からは、新しいネットワークに自分で追加/削除したり、現在のネットワークを表示したりできることは理にかなっています。

/users/1/networks         #show networks user is in
/users/1/networks/add     #add self to network
/users/1/networks/delete  #remove self from network
于 2012-07-31T01:24:34.980 に答える