2016-10-19 3 views
1

私はHartlチュートリアルを完了し、friendly_idの助けを借りていくつかのバニティURLを追加し、ルートファイルを設定することができました。しかしこれは、コードレンダリングユーザーのインデックスページをルーティングしないのはなぜですか?

get '/users',  to: 'users#index' 
    resources :users, path: '' do 
    member do 
     get :following, :followers 
    end 
    end 

、私はそのコードをきれいにしたいので、私はしようとした:彼らは私がfriendly_idをインストールし、以下にroutes.rbをを設定することで、これをしなかった

の代わりに/ユーザー/ ID /ユーザー名を使用します

resources :users, except: :index, path: '' do 
    member do 
     get :following, :followers 
    end 
    end 

ただし、/ usersインデックスページは表示されません。このコードを間違って書いているのですか、私は狂っていますか?

EDIT:ユーザーの更なるダウン:

を追加するのを忘れ、別のリソースがあります。これは私のルート全体です.rb:

+1

なぜ2つのユーザーリソース(実際には3つ)を持っていますか?本当に良い理由がない限り、おそらく1つを取り除くべきです。 –

答えて

1

あなたはindexを削除し、リソースからそれを除外しました。

+0

申し訳ありませんが、私は別のリソースを持っていることを忘れてしまいました。更新された投稿 – doctopus

+0

を参照してください。複数の 'resources:users'を持っていて、もう一度' user#index'に別のものを持ってくる理由はありますか?あなたは 'rake routes'を使ってすべての重複したルートやオーバーライドされたルートを見ることができます – Sajan

+0

私はチュートリアルに従って2つのリソースで終わる以外の理由はありません – doctopus

1

except:ステートメントでは、インデックスのルートが除外されています。これは、インデックス操作のためにユーザーexceptのリソースルートを生成することを効果的に示しています。

試してみてください。

resources :users, path: '' do 
    member do 
     get :following, :followers 
    end 
    end 
+0

残念ながら私は別のリソースを持っていることを忘れた更新された投稿 – doctopus

+0

はいを​​参照してください。回答者が示唆しているとおりに組み合わせてください。おそらく重複したルートがあります。 – jaydel

関連する問題