Вы можете использовать помощники activesupport для даты, чтобы получить начало и конец месяца, а затем добавить это в диапазон.Когда у вас есть диапазон, вы можете передать его в options_from_collection_for_select.
Например:
<% range = (DateTime.now.beginning_of_month .. DateTime.now.end_of_month) %>
<%= select_tag :date,
options_from_collection_for_select(
range.collect{|d|['date', d.mday]}, :first, :last) %>