如何在我的 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
我正在使用 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