2011-06-20 10 views
1

レール3つのルートに問題があります。レール3:新しい動作へのルートの問題

「gestion_etudiant.html.erb」という新しいビューで「gestion_etudiant」という新しいアクションを追加します。

私はインデックスページで私もこれを試してみてください。この

<%= link_to "Administration", {:controller => "users", :action => "gestion_etudiant"} %> 

のようなリンクを持っている:私のコントローラで

<%= link_to "Administration", "https://stackoverflow.com/users/gestion_etudiant" %> 

def gestion_etudiant 
    @users = User.find(:all) 
end 

を私は上CLICときリンク、私はいつもこのエラーがあります:

ActiveRecord::RecordNotFound in UsersController#show 
Couldn't find User with ID=gestion_etudiant 

私はルートファイルでこれを持っている:

resources :users 

そして、私はまた、追加しようとしました:

match "users/gestion_etudiant", :to => "users#gestion_etudiant" 

resources :users, :only => [:gestion_etudiant] 

しかし、私は私のページにアクセスすることはできません"gestion_etudiant.html.erb"誰かがなぜ示唆できますか?

答えて

2

これを試してみてください:

# router: 

resources :users do 
    get :gestion_etudiant, :on => :collection 
end 

# view: 

link_to "Administration", gestion_etudiant_users_path 

# Controller 

def gestion_etudiant 
    @users = User.all # Don't use find with :all as it will be deprecated in rails 3.1 
end 
+0

Thxをを実行することにより、あなたのアプリケーションを持っているルートを確認することができます。エラーは消えています:)。今はリンクをクリックするとインデックスにリダイレクトされます(ページが更新されます)。私はなぜそうではありません。私は "http:// localhost:3000/users/gestion_etudiant"のリンクにカーソルを置くと動作しません。 –

+0

いいえ、すべて正常に動作します。ありがとう –

1

をあなたのルートでは、試してみてください。

resources :users do 
    collection do 
    get 'gestion_etudiant' 
    end 
end 

あなたはあなたの応答をrake routes

関連する問題