Rails 3如果路径匹配根应用CSS类:到路径
Posted
技术标签:
【中文标题】Rails 3如果路径匹配根应用CSS类:到路径【英文标题】:Rails 3 Apply CSS class if path matches root:to path 【发布时间】:2011-06-23 00:39:08 【问题描述】:我对 ROR 非常陌生,并且在我开发我的第一个应用程序时就喜欢它。当我将格式应用到导航菜单时,我有一个与我的应用程序模板相关的问题。
是否可以检查 url 路径是否与 config.rb 中设置的 root:to 路径匹配?我有一个帮助方法,它返回字符串“current”,它添加了 css 类样式以突出显示选定的菜单项。只要我不在主页上,辅助方法就可以正常工作。当我的 url 是 www.localhost:3000/ 时,css 当前类不适用于 Products 链接,因为 request_uri = "/" 不等于 "/products"。当我在主页上时,我希望将 css 类“当前”应用于产品菜单项。
是否有任何条件逻辑可以用来获取 root:to 路径并检查它是否与 is_current 的参数路径匹配?
这是我的代码:
routes.rb 根目录:设置为指向产品索引视图
root :to => 'products#index'
application.html.erb
is_current(products_path) %> is_current(reports_path) %>
application_helper.rb
def is_current(path)
if request.request_uri == path
return 'current'
end
end
任何帮助将不胜感激。
谢谢, 卡森
【问题讨论】:
【参考方案1】:这对你有用吗?
if current_page? root_path
更多信息:http://api.rubyonrails.org/classes/ActionView/Helpers/UrlHelper.html#method-i-current_page%3F
【讨论】:
señor poopypants never come back to select the right answer :/【参考方案2】:如果我没看错,你想应用“onlink”css 吗?这样当用户在首页时,首页图标是不同的颜色什么的。如果是这样,那么将其应用于您的部分标题或任何地方:
<li><%= link_to_unless_current "Home", root_path, :class => "navLinks" do link_to "Home", root_path, :class => "navLinks", :id => "onlink" end %></li>
【讨论】:
以上是关于Rails 3如果路径匹配根应用CSS类:到路径的主要内容,如果未能解决你的问题,请参考以下文章
在利用资产管道的 Rails 应用程序中,用于 css 文件中背景图像的正确路径是啥?
初始化类路径时出错:找不到与 services.gradle.org 匹配的主题备用 DNS 名称。 -> 运行 grails 3.0.1 应用程序时