2011-04-11 11 views
10

¿Alguien ha experimentado rutas que misteriosamente se vuelven indetectables cuando se usa current_page? en Rails 3? Incluso con un andamio totalmente generado completo con rutas, una vista y un controlador, aparece el error "No coincide con la ruta"."No hay coincidencias de rutas" cuando se utiliza current_page en Rails 3

Aquí está el código:

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

Si añado un comando de "igualar" a routes.rb, trabaja muy bien, pero ¿por qué tengo que hacer que si ya se han creado los recursos? ¿Qué me estoy perdiendo?

Respuesta

18

Te estás perdiendo el parámetro id de este helper:

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

Se espera que usted pueda pasar a través de una ruta completa. Si no quiere esto y solo desea hacer coincidir el controlador y la acción, le recomiendo que codifique el suyo.

+0

¡Bien, muchas gracias! – Dan

20

Si lo que desea es probar el controlador actual, puede hacer lo siguiente:

if params[:controller] == 'users' 

Del mismo modo, si usted está utilizando un controlador de espacio de nombres, sólo puede utilizar una barra para separar el espacio de nombre (s) desde el nombre del controlador, por ejemplo:

if params[:controller] == 'advertising/users' 
Cuestiones relacionadas