Reputation: 683
Currently I have a typical devise installation but I've added user-id's to the routes that have a current_user available. But I'm getting the error stated below when trying to login to the service.
Error
NameError in Devise::SessionsController#create
undefined local variable or method `offers_path' for #<Devise::SessionsController:0x007f0e80ec7a08>
def after_sign_in_path_for(resource)
offers_path
end
routes.rb
devise_for :users
resources :users do
resources :offers do
member do
put :tourcomplete
end
end
end
Rake Routes
tourcomplete_user_offer PUT /users/:user_id/offers/:id/tourcomplete(.:format) offers#tourcomplete
user_offers GET /users/:user_id/offers(.:format) offers#index
POST /users/:user_id/offers(.:format) offers#create
new_user_offer GET /users/:user_id/offers/new(.:format) offers#new
edit_user_offer GET /users/:user_id/offers/:id/edit(.:format) offers#edit
user_offer GET /users/:user_id/offers/:id(.:format) offers#show
PATCH /users/:user_id/offers/:id(.:format) offers#update
PUT /users/:user_id/offers/:id(.:format) offers#update
DELETE /users/:user_id/offers/:id(.:format) offers#destroy
users GET /users(.:format) users#index
POST /users(.:format) users#create
Not too sure if this is the best way to put user-id's within the logged in routes. Would love any help on this issue.
Upvotes: 1
Views: 160
Reputation: 34318
Seeing your routes, you don't have any offers_path
but you are trying to use that, that's why you are getting this error.
You should try using user_offers_path
instead and the pass the user
as the argument, something like this:
user_offers_path(@user)
Upvotes: 1