0

ユーザーの役割に応じて、URLのコンテンツにいくつかの異なるビューを持たせ、クライアントのブラウザやダムプロキシなどの外部キャッシュの問題を解決しようとしています。

URL は次のとおりです。

http://myhost.com/widget/1234

ウィジェット 1234 の所有者がページを見ると、「編集」セクションと「統計」セクションが表示されます。

ログインしていない人が同じ URL を表示すると、「所有者」セクションのないページが表示されます。

同じ URL が使用されているため、この状況を処理する最善の方法は何ですか? その人がログインしている場合、別の URL が表示されるはずです。

http://myhost.com/owners/widget/1234

これにより、キャッシュの問題が非常にうまく解決されます。ただし、それはレールのリソースの観点を台無しにします。

重複してDRYさんに「ごめんなさい!」と伝えますか?

誰か提案やアドバイスはありますか?

-ダニエル

4

2 に答える 2

0

したがって、すぐにこれを解決する最も簡単な方法は、管理者ロールと一般ユーザー用に別のページを用意することです。そのため、ページを編集するには別の方法を使用する必要があります。

それが同じページになければならない場合、それらはあなたができる2つのことのうちの1つです。

a) ページをフラグメント キャッシュし、ユーザー固有の部分を除外する b) ajax を使用して、役割を明確にするエンドポイントに到達する。したがって、基本的にデフォルトでは、ボタンを非表示にして、現在ログインしているユーザーの役割を決定する /api/owners/roles に ajax リクエストを行います。x ロール $(".edit-button").show() より大きい場合

于 2013-07-11T00:30:53.497 に答える