0
我想在Rails中使用助手方法添加下拉菜單,但是當我在下拉鍊接中有ul鏈接時,它會繞過我的下拉鍊接標記。 。繞過鏈接的助手方法的引導下拉菜單
application_helper.rb
def nav_bar(c='nav nav-pills')
content_tag(:ul, class: "#{c}") do
yield
end
end
def nav_dropdown(text)
html_options = {data: {toggle:"dropdown"}, class:"dropdown-toggle", role:"button", aria:{haspopup:"true", expanded:"false"}}
content_tag(:li, role:"presentation", class:"dropdown") do
link_to raw(text + content_tag(:span, "",class:"caret") ),"#", html_options
nav_bar('dropdown-menu') do yield end
end
end
_menu.html.erb
時,我有導航欄線nav_bar('dropdown-menu') do yield end
產生
<%= nav_bar do %>
...
<% if current_user.admin? %>
<%= nav_link t('menu.list_companies'), companies_path %>
<%= nav_dropdown t('menu.configurations') do %>
<%= nav_link t('menu.edit_process_types'), process_types_path %>
<% end %>
<% end %>
HTML當我從helper方法去除導航欄線nav_bar('dropdown-menu') do yield end
產生
<li role="presentation" class="dropdown">
<ul class="dropdown-menu">
<li><a data-method="get" href="/process_types"><span class="translation_missing" title="translation missing: pt.menu.edit_process_types"> Edit Process Types</span></a>
</li>
</ul>
</li>
HTML
<li role="presentation" class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false" href="#">
Configurações<span class="caret"></span>
</a>
</li>
我想達到:
<li role="presentation" class="dropdown">
<a data-toggle="dropdown" class="dropdown-toggle" role="button" aria-haspopup="true" aria-expanded="false" href="#">
Configurações<span class="caret"></span>
</a>
<ul class="dropdown-menu">
<li><a data-method="get" href="/process_types"><span class="translation_missing" title="translation missing: pt.menu.edit_process_types"> Edit Process Types</span></a>
</li>
</ul>
</li>
任何想法,對什麼是這裏發生的事情如何達到預期的效果?