`
jsntghf
  • 浏览: 2533597 次
  • 性别: Icon_minigender_1
  • 来自: 苏州
社区版块
存档分类
最新评论

menu_helper—rails中生成菜单

阅读更多

首先进行安装

gem install menu_helper

 

下面看个简单的例子。

 

路由如下所示:

  map.with_options(:controller => 'site') do |site|
    site.home '', :action => 'index'
  end

  map.with_options(:controller => 'about_us') do |about_us|
    about_us.about_us 'about_us', :action => 'index'
    about_us.contact 'about_us/contact', :action => 'contact'
    about_us.who_we_are 'about_us/who_we_are', :action => 'who_we_are'
  end

 

页面如下所示:

<%=
menu_bar do |main|
  main.menu :home
  main.menu :products
  main.menu :services
  main.menu :about_us do |about_us|
    about_us.menu :overview, 'Overview', about_us_url
    about_us.menu :who_we_are
    about_us.menu :contact, 'Contact Us'
  end
  main.menu :search, 'Search', 'http://www.google.com', :class => 'green_link'
end
%>

 

生成的html如下:

<ul class="ui-menubar ui-menubar-1">
  <li class="ui-menubar-menu ui-menubar-menu-1">
    <a href="http://localhost:3000/"><span>Home</span></a>
  </li>
  <li class="ui-menubar-menu ui-menubar-menu-1">
    <a href="http://localhost:3000/products"><span>Products</span></a>
  </li>
  <li class="ui-menubar-menu ui-menubar-menu-1">
    <a href="http://localhost:3000/services"><span>Services</span></a>
  </li>
  <li class="ui-menubar-menu ui-menubar-menu-1">
    <a href="http://localhost:3000/about_us"><span>About Us</span></a>
    <ul class="ui-menubar ui-menubar-2">
      <li class="ui-menubar-menu ui-menubar-menu-2">
        <a href="http://localhost:3000/about_us"><span>Overview</span></a>
      </li>
      <li class="ui-menubar-menu ui-menubar-menu-2">
        <a href="http://localhost:3000/about_us/who_we_are"><span>Who We Are</span></a>
      </li>
      <li class="ui-menubar-menu ui-menubar-menu-2 ui-menubar-last">
        <a href="http://localhost:3000/about_us/contact"><span>Contact Us</span></a>
      </li>
    </ul>
  </li>
  <li class="green_link ui-menubar-menu ui-menubar-menu-1 ui-menubar-last">
    <a href="http://www.google.com"><span>Search</span></a>
  </li>
</ul>

 

至此,一个简单的菜单便生成了。

 

你可以为这个菜单加点样式:

  .ui-menubar-menu {list-style-type:none;}
  .ui-menubar-menu a{text-decoration:none;}
  .ui-menubar-menu a:hover{color:red; text-decoration:underline;}
  .green_link a {color:green;}

 

更多其他用法,可以参考menu_helper的api http://api.pluginaweek.org/menu_helper

分享到:
评论
7 楼 wozhidao 2009-12-20  
放在模版文件里不就行了,这样感觉更麻烦
6 楼 samsam 2009-12-13  
menu都要这样搞,觉得没必要
5 楼 ywencn 2009-12-12  
yearl 写道
有没有可收缩的那种?

可收缩是jQuery前端的事。。
4 楼 yearl 2009-12-10  
有没有可收缩的那种?
3 楼 fl1429 2009-12-09  
可以 自己 写。。不一定 要 依赖 gem
2 楼 liusong1111 2009-12-09  
ywencn 写道
不至于吧。。连<ul><li>都懒得写了?


如果只是封装ul/li,意义就不大,如果能整合用户权限,就有价值了。
1 楼 ywencn 2009-12-09  
不至于吧。。连<ul><li>都懒得写了?

相关推荐

    nf_nat_helper.rar_nf_nat_helper

    此外,还有`nf_nat_helper_init()`和`nf_nat_helper_fini()`,分别用于初始化和清理NAT助手模块。这些函数使得开发者能够轻松地注册新的NAT助手,并在需要时将其移除。 NAT助手的工作流程通常包括以下几个步骤: 1....

    chrome_frame_helper.dll )

    hrome_frame_helper.dll 帮助丢失dll的用户免除重装浏览器的痛苦

    wow_helper.exe

    wow_helper.exewow_helper.exewow_helper.exewow_helper.exewow_helper.exe

    sd8686.bin和sd8686_helper.bin.rar

    1、 将sd8686.bin和sd8686_helper.bin拷贝到linux-2.6.35/firmware下 2、 平台代码修改,修改arch/arm/mach-s3c2410/mach-smdk2410.c 3、 配置内核 4、 编译内核

    xpath_helper_2_0_2.zip

    XPath Helper是一款强大的网页元素定位工具,特别是在Web自动化测试和网页数据抓取中有着广泛的应用。XPath,全称为XML Path Language,是一种在XML文档中查找信息的语言。它被设计用来选取XML文档中的节点,如元素...

    驱动安装助手Kext_Helper_b7.zip

    在运行过程中,Kext_Helper_b7会引导用户通过必要的步骤,如确认权限、加载新的内核扩展,并在安装完成后重新启动系统以使更改生效。 使用Kext_Helper_b7时,用户需要注意以下几点: 1. 确保下载的内核扩展来自可...

    chrome_frame_helper.exe

    chrome_frame_helper.exe

    rockchip_drm_integration_helper-zh.pdf

    概述 DRM全称是Direct Rendering Manager,管理进行显示输出的, buffer分配, 帧缓冲. libdrm库提供了一系列友好的控制封装, 使用户可以方便的进行显示的控制, 但并不是 只能通过libdrm库来 控制drm, 用户可以直接...

    Python库 | scapy_helper-0.5.2-py2.py3-none-any.whl

    要安装`scapy_helper`,首先确保你的Python环境中已经安装了Scapy。然后,你可以使用`pip`来安装`.whl`文件: ```bash pip install scapy_helper-0.5.2-py2.py3-none-any.whl ``` 安装完成后,就可以在你的Python...

    CHRHelper_HashHelper_helper_C#_RsaHelper_CryptHelper_

    在给定的标题"CHRHelper_HashHelper_helper_C#_RsaHelper_CryptHelper_"和描述"C# 加密帮助类 包括 CryptHelper HashHelper RsaHelper 好东西"中,我们可以看到这是一组与C#编程语言相关的加密和哈希辅助类。...

    outlook_addin_upgrade_helper.exe

    outlook_addin_upgrade_helper.exe

    Python库 | iglovikov_helper_functions-0.0.48.tar.gz

    在实际使用中,我们首先需要解压iglovikov_helper_functions-0.0.48.tar.gz文件,然后使用Python的setuptools或pip安装库。安装完成后,可以通过import语句引入库,并调用其中的函数。例如: ```python import ...

    12306_ticket_helper

    12306_ticket_helper.user.js

    xpath_helper.zip

    通过熟练掌握XPath的使用,结合XPath Helper,你可以在网页数据抓取和解析过程中事半功倍。所以,如果你经常涉及XML或HTML的工作,强烈推荐你尝试这款工具,相信它会成为你日常工作中的一大利器。

    chrome_frame_helper.dll

    chrome_frame_helper.dll

    python.struct_helper_0_01

    总的来说,`struct_helper_0_01`可能是为了简化在Python中处理C结构体时的复杂性,提供了一种高效且可移植的方式来打包和解包二进制数据。理解`struct`模块的工作原理对于任何涉及底层系统接口或跨平台编程的Python...

    HD_Install_Helper_v0.3.rar

    标题中的“HD_Install_Helper_v0.3.rar”是一个压缩包文件,通常包含了一系列用于在Windows操作系统上安装Mac OS X(又称黑苹果)的工具和辅助程序。这个版本号“v0.3”表明它是该软件的第三个版本,可能包含了前一...

    Database_Helper_2.0

    Database_Helper_2.0 在2.0.0版本中强化了其核心特性,包括数据导入导出、查询优化、备份恢复、性能监控等。这些特性使得数据库管理变得更加简单,减少了人为错误的可能性,提升了整体数据处理能力。 2. **数据...

Global site tag (gtag.js) - Google Analytics