如何测试当前页面是不是在给定的路径/控制器中?
Posted
技术标签:
【中文标题】如何测试当前页面是不是在给定的路径/控制器中?【英文标题】:How can I test if the current page is in a given path/controller?如何测试当前页面是否在给定的路径/控制器中? 【发布时间】:2016-03-10 20:15:22 【问题描述】:我有以下路线
resources :tracking_categories do
resources :trackings
end
我有以下视图,如果/tracking_categories
路径内的任何位置,我想突出显示该按钮,例如:http://localhost:3000/tracking_categories/6/trackings/new
。我试过current_page?
%liclass: current_page?(controller: 'tracking_categories') ? 'active' : false
=link_to 'Track My Progress', new_tracking_category_tracking_path(1)
我也试过
%liclass: current_page?(controller: 'trackings') ? 'active' : false
我也试过#url
%liclass: url.index('tracking_categories') ? 'active' : false
它们都返回 false,除了url
,它给出了错误
参数数量错误(0 代表 2)
【问题讨论】:
【参考方案1】:您可以使用 params[:action] 和 params[:controller]。
Routing parameters documentation
Here is a similar question建议你可以使用:
controller.controller_name == "the_controller_I_want_to_check"
controller.action_name == "the_action_I_want_to_check"
【讨论】:
【参考方案2】:成功了
%liclass: request.original_url.index('tracking_categories') ? 'active' : false
【讨论】:
以上是关于如何测试当前页面是不是在给定的路径/控制器中?的主要内容,如果未能解决你的问题,请参考以下文章
springMVC框架如何根据页面上的访问路径快速找到相应的控制器类中处理请求的方法?