我正在使用Rails 5.当我的用户登录时,我想将'/ users / 4'操作替换为通用的'/ dashboard'主页链接。我还希望删除用户在浏览器中输入'/ users / ##'的功能,而只允许他们访问'/ dashboard'。我该怎么做呢?目前,在我的config / routes.rb中我有
post_save
在我的users_controller.rb文件中我有
get '/dashboard', to: 'users#show'
resources :users
但是目前当我在浏览器中访问“/ dashboard”时,我收到了错误
找不到具有' id' =
的用户如何设置路线以禁用show动作,但允许/ dashboard成功导航到上面的操作?
答案 0 :(得分:1)
我喜欢做的事情是这样的
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