user3731130
user3731130

Reputation: 16

Rails: users/index routing to users/show

Whenever I try to access the index method of my user controller, I get an error from rails that says the following:

Unknown action The action 'show' could not be found for UsersController

My routes.rb file does not have a route to show, but it does have one to index. Even when I enter localhost:3000/users/index into my url bar, I still get the same issue.

I have been looking for an answer to this question for hours and have still had no luck.

EDIT:

I took the advice to route with get 'users/index' => 'users#index', but that did not help. The index.html.erb is in the right place. I have an index method defined in my users_controller.rb

The section of my routes.rb:

get 'users/index' => 'users#index'
get 'users/sign_up_partial'
post 'users/create'

Upvotes: 0

Views: 621

Answers (2)

Shweta
Shweta

Reputation: 1171

You are using 'localhost:3000/users/index'. It will redirect to show. If you will do rake route you will find

/users/:id(.:format) will redirect to show action of users controller and in your case as you are using users/index its considering 'index' as user id.

For index action you just need to use URL 'localhost:3000/users'.

Upvotes: 1

Zac1989
Zac1989

Reputation: 43

From my experience you should have in your routes.rb file:

get "users/index" => "users#index"

Have your index defined in your users_controller.rb

and

make sure you have the view file created (views/users/index.html.erb)

Upvotes: 0

Related Questions