Я пытаюсь добавить раскрывающееся меню с помощью вспомогательного метода в Rails, но когда у меня была ссылка ul для ссылок в раскрывающемся списке, она обходит мой тег ссылки на раскрывающийся список. .Bootstrap Dropdown Menu on Rails с помощью вспомогательных методов обход ссылки
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 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 генерируется, когда у меня есть NavBar линию 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 генерируется, когда я удалить NavBar линию nav_bar('dropdown-menu') do yield end
из вспомогательного метода
<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>
Любые идеи о том, что происходит здесь и как достичь желаемого результата?