如何在我的 Rails 用户控制器中创建仪表板 link?

How do I create a dashboard link in my Rails user controller?

我正在使用 Rails 5. 当我的用户登录时,我想用通用的“/dashboard”主页 link 替换“/users/4”操作。我还想取消用户在浏览器中输入“/users/##”的功能,而只允许他们访问“/dashboard”。我该怎么做呢?目前,在我的 config/routes.rb 我有

  get '/dashboard', to: 'users#show'
  resources :users

在我的 users_controller.rb 文件中有

  def show
    @user = User.find(params[:id])
    @user_subscriptions = UserSubscription.find_active_subscriptions_by_user(@user)
  end

但目前当我在浏览器中访问“/dashboard”时,出现错误

找不到 'id'=

的用户

如何设置我的路线以禁用显示操作但允许 /dashboard 成功导航到上述操作?

我喜欢做的事情是这样的

  get '/dashboard' => 'users#show', as: :dashboard

现在在你看来你可以做

link_to 'Dashboard', dashboard_path(current_user)

在控制器中你可以做

  def show
    params[:id] == current_user.id unless params[:id]
    @user = User.find(params[:id])
    @user_subscriptions = UserSubscription.find_active_subscriptions_by_user(@user)
  end