0

私は多くのサブドメインを含むプロジェクトで忙しく、さまざまなレベルの認証を行っています。アクセスレベルに応じてURLの外観を変更したいのですが、すべてにアクセスできるスーパーユーザーがいます(プログラマーのみ)。 、次にいくつかの異なる管理者権限。それぞれが処理内容に応じて異なるものにアクセスできます。ポータル管理者はdata_reportと呼ばれる機能にアクセスできます。アクセスできるのは彼とスーパーユーザーだけです。ルーティングされた方法は、スーパーユーザーアクセスのみを目的としているため、URLにはhttpが表示されます。 //toolkit.dev/portal_data/2121はポータル管理者のアカウントですが、スーパーユーザーがアクセスできる他のアカウントにはアクセスできないため、そのURLで21を非表示にする方法があります。それでも同じ場所に渡します。したがって、スーパーユーザーはアカウント番号を見ることができ、それがportal_administratorの場合、彼はそうしませんでしたか?

私のルートは次のようになります。

map.resources :portal_data, :only => [:show, :create]
map.show_account_portal_datum '/portal_data/:id/account/:account_id/', :controller => 'portal_data', :action => 'show_account'

それが参照するコントローラーにはメソッドがあります

def show_account
  @account = @portal.accounts.find(params[:account_id])
end

簡単な質問なら申し訳ありませんが、ルートを扱うのは初めてです。

4

1 に答える 1

1

この場合、ポータル管理者もインデックスページを必要としないと思います。インデックスアクションでこれをチェックし、現在ログインしているユーザーがポータル管理者である場合に表示アクションと同じビューをレンダリング(リダイレクトなし)するのはどうですか?

簡単なアイデアですが、それがあなたのニーズに合うかどうかはわかりません。

于 2012-04-12T11:42:18.387 に答える