Rails + Devise:重定向到用户资源

ram*_*am1 2 ruby-on-rails devise

当我的application_controller.rb重定向到users_path这样:

def after_sign_in_path_for(resource)
    users_path
end
Run Code Online (Sandbox Code Playgroud)

重定向工作.但是,如果我将其更改为user_path:

def after_sign_in_path_for(resource)
    user_path
end
Run Code Online (Sandbox Code Playgroud)

我收到路由错误.这是我的routes.rb:

devise_for :users
get "users/show"

resources :orders

resources :users do
    resources :orders
end
Run Code Online (Sandbox Code Playgroud)

我想也许我应该像这样传递userID:

def after_sign_in_path_for(resource)
    @user = User.find(params[:id])
    user_path(@user)
end
Run Code Online (Sandbox Code Playgroud)

但错误又回来了Couldn't find User without an ID.救命?

Ian*_*ang 7

我想你应该current_user在登录后尝试

user_path(current_user)
Run Code Online (Sandbox Code Playgroud)