Как я могу преобразовать этот код haml для отображения выпадающего списка пунктов меню, а не списка?Как передать массив в виде выпадающего меню?
Существующий код в наших рельсах 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
приложение/помощники/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
Пользователи могут выбрать месяц и отображать все сообщения, сделанные в течение этого месяца. Я ищу тот же формат и поведение, но вместо этого должен использовать раскрывающееся меню.
передать массив в выпадающем списке вы можете использовать = select_tag "имя", options_from_collection_for_select (@name, "ID", "Desc") или = "имя" select_tag, options_for_select (@name) –