如何将此haml代码转换为显示菜单项的下拉列表而不是列表?
我们的 rails 4.0 应用程序中的现有代码:
应用程序/视图/应用程序/_archive.html.haml
.sidebar-header=I18n.t('blog.archive')
-archive_dates.each do |date|
.archive-link=archive_link(date, '%B %Y')
应用程序/模型/post.rb
def self.archive_dates(audience)
archive_dates = Array.new
published.send(audience).each do |post|
archive_dates << post.publish_date.to_date if archive_dates.count == 0 || post.publish_date.month != archive_dates.last.month || post.publish_date.year != archive_dates.last.year
end
archive_dates
end
应用程序/helpers/application_helper.rb:
def archive_link(archive_date, format)
archive_date = archive_date.to_date
link_to I18n.l(archive_date, format: format), posts_path(month: archive_date.month, year: archive_date.year)
end
这是输出 HTML。
http://i.stack.imgur.com/bFaxf.png
用户可以选择一个月并显示该月发布的所有帖子。我正在寻找相同的格式和行为,但必须使用下拉菜单。