相关疑难解决方法(0)

在Rails 3中为nav添加"当前"类的最佳方法

我在导航菜单中有一些静态页面.我想在当前显示的项目中添加类似"当前"的类.

我这样做的方法是添加大量的辅助方法(每个项目一个)来检查控制器和操作.

def current_root_class
  'class="current"' if controller_name == "homepage" && action_name == "index" 
end

<ul>
  <li <%= current_root_class %>><%= link_to "Home", root_path %>
Run Code Online (Sandbox Code Playgroud)

有没有更好的方法呢??我目前的方式是如此愚蠢......

navigation ruby-on-rails-3

110
推荐指数
6
解决办法
6万
查看次数

在Rails中动态添加活动类到bootstrap li

在引导程序导航栏中.您可以通过添加类来获得单击按钮的效果active.当然,我想在我的网页上使用它.例如,如果我在关于我们的页面上,我想点击关于我们的按钮.

最好的方法是什么?我打算去每个页面,在底部有一个jQuery函数将类添加active到它.有没有更好的办法?

ruby-on-rails twitter-bootstrap twitter-bootstrap-rails

25
推荐指数
3
解决办法
2万
查看次数

动态菜单红宝石在轨道和部分

我是rails的新手,想要使用partials实现动态菜单.

截至目前,我的代码如下:

菜单部分:

.three.columns
  %ul#nav

    %li{:class => @active_page=="about" ? "active_page" : ""}
      %a{:href => "../pages/about"} About
    %li{:class => @active_page=="careers" ? "active_page" : ""}
      %a{:href => "../pages/careers"} Careers
    %li{:class => @active_page=="contact" ? "active_page" : ""}
      %a{:href => "../pages/contact"} Contact
Run Code Online (Sandbox Code Playgroud)

风景:

  html...
  = render :partial => 'shared/aboutmenu_nav'
  more html...
Run Code Online (Sandbox Code Playgroud)

页面助手:

def @active_page(c) 
controller.action_name == c 
end
Run Code Online (Sandbox Code Playgroud)

注意:如果用户在相应的页面上active_page,我想要传递给的类li.例如,如果用户位于"联系"页面上,则active_page类将仅传递给Contact li元素.

我尝试了几种解决方案,包括创建多个CSS版本并body在页面上传递一个类?例如,

%body{:class => @page_name}
Run Code Online (Sandbox Code Playgroud)

然后在pages_helper中定义@page_name,如下所示:

 def page_name
    @path.parameterize('_') unless @path.blank?
  end
Run Code Online (Sandbox Code Playgroud)

这些版本似乎都不起作用,因为前者(@active_page)不会产生任何结果.同样,我无法在body标签上分配一个类 - 当我检查源代码时,body标签没有任何类.

我很感激有关如何使用partials实现动态菜单的任何帮助.如果有一种我没试过的方法,请随时通知我.我真诚地感谢你的帮助,我非常感谢你的时间!谢谢!

使用Kanadada的解决方案.该页面按字面显示应显示样式菜单的以下文本:

<li class=""> …
Run Code Online (Sandbox Code Playgroud)

html css ruby-on-rails partial

2
推荐指数
1
解决办法
1976
查看次数