2016-06-22 21 views
0

デフォルトでは、WebアプリケーションはURL「/ users/1」に対して「表示」アクションを実行します。URL「/ users/1」の「表示」アクションの防止

私は、次のルートを持っている:

get 'profile' => 'users#show' 

私は、許可がログインしたユーザーのみが自分のページで見ることができるよう設定しています。しかし、私はまた、URL "/ users/1"の "ショー"アクションを防止したい。これに接近する最善の方法は何でしょうか?

答えて

2

あなたのルート内にあるものを制限してください。

resources :users, only: [:whatever_action] 

または

resources :users, except: [:show] 
+0

私は今、エラー "Noルートマッチ[GET] "/ユーザ/ 5"" を得ます。代わりにリダイレクトするのは良い考えですか?はいの場合、私はそれをどのようにすることができるか知っていますか? – user1175969

+0

私はリダイレクトしません、私は単純にアプリケーションのどこにもリンクしません。 'get 'profile' => 'users#show'を:: profile'として使用することができます。次に、あなたのリンクに 'profile_path'を使用することができます –

+0

このアプリケーションがすでに公開されている場合は、httpサーバでリダイレクトを行います。 –

関連する問題