2011-04-11 18 views
10

Czy ktoś napotkał trasy w tajemniczy sposób niewykrywalne podczas korzystania z current_page? w Rails 3? Nawet przy w pełni wygenerowanym rusztowaniu wraz z trasami, widokiem i kontrolerem otrzymuję komunikat "Brak zgodności trasy"."Brak tras" w przypadku korzystania z current_page w Railsach 3

Oto kod:

if current_page?(:controller => 'users', :action => "show") 

Gdybym dodać polecenie „dopasować” do routes.rb, to działa dobrze, ale dlaczego muszę zrobić, że jeśli środki zostały już utworzone? czego mi brakuje?

Odpowiedz

18

Brakuje parametru id z tego pomocnika:

current_page?(:controller => "users", :action => "show", :id => "1") 

że oczekuje, aby przejść pełną drogę wskroś. Jeśli tego nie chcesz i chcesz dopasować tylko do kontrolera i akcji, polecam Ci kodowanie własne.

+0

Miło, wielkie dzięki! – Dan

20

Jeśli chcesz tylko przetestować regulatora prądu, można wykonać następujące czynności:

if params[:controller] == 'users' 

Podobnie, jeśli używasz przestrzeni nazw kontrolera, można po prostu użyć ukośnika aby oddzielić przestrzeń nazw (-y) od nazwy kontrolera, np .:

if params[:controller] == 'advertising/users' 
Powiązane problemy