我有以下路线
resources :tracking_categories do
resources :trackings
end
我有以下视图,我想在/tracking_categories
路径中的任何位置突出显示该按钮,例如:http://localhost:3000/tracking_categories/6/trackings/new
。我试过了current_page?
%li{class: current_page?(controller: 'tracking_categories') ? 'active' : false}
=link_to 'Track My Progress', new_tracking_category_tracking_path(1)
我也试过
%li{class: current_page?(controller: 'trackings') ? 'active' : false}
我也试过#url
%li{class: url.index('tracking_categories') ? 'active' : false}
它们都返回false,除了url
,它给出了错误
错误的参数数量(0表示2)
答案 0 :(得分: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"
答案 1 :(得分:0)
这有效
%li{class: request.original_url.index('tracking_categories') ? 'active' : false}