Rails简单导航如何风格?

Rai*_*ner 2 ruby rubygems ruby-on-rails ruby-on-rails-3

我正在使用简单的导航宝石为我的网站创建一些"简单"导航.

我已经创建了一个带有CSS,JQUERY和HTML的标签式菜单.

唯一的问题是通过简单的导航创建完全相同的CSS和HTML.

这是我想用简单导航创建的HTML:

<ul id="ulmenu">

<li class="topmenuli" id="menufirst">
<a href="#" class="">Frontpage<span id="frontpage"></span></a>
<ul id="submenu" style="display: none;">
  <li><a style="font-weight:bolder;text-decoration:underline;background:url(../images/menua.png) no-repeat center bottom;" href="#" class="">Submenu 1</a></li>
   <li><a href="#" class="">Submenu 2</a></li>
</ul>
</li>
<li class="topmenuli">
<span style="display:block;" id="pets"></span>
<a href="#">Pets</a>
<ul style="display:none;" id="submenu">
  <li><a href="#">Submenu 1</a></li>
  <li>Submenu 2</li>
</ul>
</li>
</ul>
Run Code Online (Sandbox Code Playgroud)

我的简单导航配置文件:

SimpleNavigation::Configuration.run do |navigation|

    primary.item :frontpage, 'frontpage', root_url, :id => 'menufirst', :class => 'topmenuli'
    primary.item :domain, 'Pets', domain_path do |sub_nav|
      # Add an item to the sub navigation (same params again)
      sub_nav.item :dogs, 'Dogs', dogs_path
    end
  end
Run Code Online (Sandbox Code Playgroud)

输出:

<ul><li id="menufirst" class="topmenuli selected simple-navigation-active-leaf"><a class="selected" href="http://localhost:3000/"><span>Frontpage</span></a></li>
<li id="petes"><a href="/pets"><span>Pets</span></a></li></ul>
Run Code Online (Sandbox Code Playgroud)

不像我的HTML.子菜单未显示.我也尝试使用highligt但是然后面包屑导航是完全错误的.

如何使用简单的导航创建HTML菜单?

m_x*_*m_x 5

要更改<ul>容器上的属性,请使用(例如):

primary.item :domain, 'Pets', domain_path do |sub_nav|
  sub_nav.dom_id = 'some_submenu_id'
  sub_nav.dom_class = 'some_submenu_class'
  sub_nav.item :dogs, 'Dogs', dogs_path
  # add any more items you want
end    
Run Code Online (Sandbox Code Playgroud)

更改<li>元素的属性:

primary.item :domain, 'Pets', domain_path, :class => 'my_class', :id => 'my_id' # etc.
Run Code Online (Sandbox Code Playgroud)

也可以提供自定义id属性生成器(如文档所述):

navigation.id_generator = Proc.new {|key| "my-prefix-#{key}"}
Run Code Online (Sandbox Code Playgroud)

至于你的style属性,我不知道simple_navigation是否处理这个,但你所要做的就是创建一些最小的css选择器:

.block
{
  display: block;
}

.container
{
  margin: 1em;
}
Run Code Online (Sandbox Code Playgroud)

......和相关课程:

<div class="block container">I will be displayed as a block and have a 1em margin</div>
Run Code Online (Sandbox Code Playgroud)