使用用户 ID 设计路由中的未定义方法
Undefined Method in Devise Routes with User ID
目前我有一个典型的设计安装,但我已经将用户 ID 添加到具有 current_user 可用的路由。但是我在尝试登录该服务时收到如下错误。
错误
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
佣金路线
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
不太确定这是否是将用户 ID 放入登录路由的最佳方式。希望在这个问题上得到任何帮助。
看到你的路线,你没有任何 offers_path
但你正在尝试使用它,这就是你收到此错误的原因。
您应该尝试使用 user_offers_path
并将 user
作为参数传递,如下所示:
user_offers_path(@user)
目前我有一个典型的设计安装,但我已经将用户 ID 添加到具有 current_user 可用的路由。但是我在尝试登录该服务时收到如下错误。
错误
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
佣金路线
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
不太确定这是否是将用户 ID 放入登录路由的最佳方式。希望在这个问题上得到任何帮助。
看到你的路线,你没有任何 offers_path
但你正在尝试使用它,这就是你收到此错误的原因。
您应该尝试使用 user_offers_path
并将 user
作为参数传递,如下所示:
user_offers_path(@user)