Sha256: 0580acf4b1025657b27cbfa25e28bb55a4894de39761accd8e0989ea9161d5a4
Contents?: true
Size: 1004 Bytes
Versions: 12
Compression:
Stored size: 1004 Bytes
Contents
module MenuHelper def menu_nav(name) items = Menu.find_by_name(name).menu_items html = "" html << "<ul id='#{ name }_nav'>" items.each do |item| next if (!item.menuable.published? && !user_logged_in? rescue false) # add published method to any menuable object html << "<li class='#{item.label_text.gsub(" ","_").downcase}'>" if item.menuable_id.nil? html << link_to(item.label_text, eval("#{item.menuable_type.tableize}_path()")) else m = item.menuable if item.link != "" && !item.link.nil? html << link_to(item.label_text, item.link) elsif m.class == Page && m.homepage? html << link_to(item.label_text, "/") else html << link_to(item.label_text, eval("#{m.class.to_s.tableize.singularize}_path(m)")) end html << page_nav(m.children) if m.class == Page && !m.children.empty? end html << "</li>" end html << "</ul>" html.html_safe end end
Version data entries
12 entries across 12 versions & 1 rubygems