Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"No routes matches" when using current_page in Rails 3

Has anybody experienced routes mysteriously becoming undetectable when using current_page? in Rails 3? Even with a fully generated scaffold complete with routes, a view, and a controller, I am getting a "No route matches" error.

Here's the code:

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

If I add a "match" command to routes.rb, it works fine, but why would I need to do that if the resources have already been created? What am I missing?

like image 217
Dan Avatar asked Apr 11 '11 21:04

Dan


1 Answers

If you just want to test the current controller, you can do the following:

if params[:controller] == 'users'

Similarly, if you're using a namespaced controller, you can just use a slash to separate the namespace(s) from the controller name, e.g.:

if params[:controller] == 'advertising/users'
like image 107
Matt Huggins Avatar answered Oct 24 '22 00:10

Matt Huggins