【发布时间】:2010-11-27 13:45:11
【问题描述】:
如何将 url /users/:id 映射到 /dashboard?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3
如何将 url /users/:id 映射到 /dashboard?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-3
网址为/dashboard 的id 参数在哪里?还是与“当前”用户有关?
如果这些页面是关于不同用户的,一个来自参数,另一个来自会话。那么你实际上需要为这 2 个 URL 设置不同的控制器。
我会这样做:
routes.rb
match "dashboard" => 'users#show', :defaults => { :id => -1 }
UsersController.rb
def show
@user = User.find(params[:id] == -1 ? current_user_id : params[:id])
...
我让你执行current_user_id:-)
【讨论】:
/dashboard 提供,还是用户登录后应该重定向到/dashboard?
match "users/:id" => "YourDashboardController#dashboard"
【讨论】:
使用这个 匹配 "users/:id" => "YourDashboardController#dashboard"
【讨论】:
你有没有尝试过这样的事情:
match "/dashboard", :to => "users#show", :as => "dashboard"
登录后重定向到dashboard_path
【讨论】: