我正在处理一个应用程序,这里有一个侧面菜单栏(图片附在此处)here is the link of screenshot.
我想要的是浏览这个菜单,实际上我希望在菜单列表中提到的每个页面上预设此菜单。此外,还应该关注我目前所处的链接。 here I have attached screenshot of that too.
我想在菜单上的所有页面上重复我的侧面导航菜单代码。但它不会激活/关注当前活动的链接。更好的解决方案?我该怎么做才能解决这个问题?
答案 0 :(得分:0)
您可以将菜单部分放入。让我们称之为_sidebar_menu.html.erb
然后您将其加载到每个页面或application.html.erb
中,如下所示 - >
<%= render partial: "layouts/sidebar_menu" %>
将"layouts"
替换为您保存菜单文件的任何文件夹。
现在您已经在每个页面中显示了菜单。你可以选择&#34;菜单或添加您定义的类以使其“活跃”#34;通过使用一些JavaScript。一种方法是检查网址,并激活相应的链接,或者您可以使用rails控制器和操作的名称来确定要激活的链接。
$(document).ready(function(){
controller_name = "<%= params[:controller] %>"
//The controller name will be dynamically inserted by rails
$(".sidebar-menu li a").each(function(){
if($(this).attr("href").toLowerCase().indexOf(controller_name) > -1){
$(this).addClass("active")
}
});
});
我假设您的网址中包含控制器的名称。您也可以使用控制器的操作名称,例如<%= params[:action] %>
来实现它。您可以使用它来找到有助于您的案例的解决方案。我希望你明白这个主意。如果有效,请告诉我。