ruby on rails从路由获取页面名称

时间:2012-07-05 16:24:45

标签: ruby-on-rails navigation routes

我有一个用户控制器,用于用户个人资料

然后我从

开始
/users/{username}

/{username}

但现在如果我想添加像

这样的页面
  • 关于我们
  • 帮助
  • 联系我们
  • 的ToS
  • 隐私
  • 等...

我遇到一个问题,我无法通过params[]代码

访问我所在的页面

我的路线看起来像

  match '/home' => 'home#index'

  #change /users/{username} to /{username}
  match '/:username' => 'users#show'

我需要知道我的导航菜单是哪个页面,所以我可以添加一个活动的类来突出显示页面

有什么方法可以做到这一点吗?

3 个答案:

答案 0 :(得分:0)

for /fxuser route
controller.action_name     # => show
controller.controller_name # => users

for /home route
controller.action_name     # => index
controller.controller_name # => home

答案 1 :(得分:0)

你可以使用params[:controller]虽然我不确定这是不是最好的方法。

此外,您的问题听起来像是Highlight tab in menu

的副本

答案 2 :(得分:0)

通过检查我正在使用哪个控制器来解决问题

if条件

中的

params[:controller]