Я не вижу вариантов ограничить это через Formtastic. Вы можете просто отобразить ввод как выборку и передать ему параметры, которые вы хотите явно.
<%= f.input :hours, :as=>:select, :collection => (0..4) %>
<%= f.input :minutes, :as=>:select, :collection => [0,15,30,45] %>
Тогда вам, вероятно, потребуется добавить следующие виртуальные атрибуты в модель:
before_save :set_duration
def set_duration
self.duration = @hours * 60 + @minutes
end
def hours
self.duration / 60;
end
def minutes
self.duration % 60;
end
def hours=(h)
@hours = h
end
def minutes=(m)
@minutes = m
end
def duration=(d)
@hours = d / 60
@minutes = d % 60
self.set_duration
end
И, возможно, вы захотите взглянуть на этот ответ , чтобы они выглядели больше как оригинал.
Может быть, есть какой-нибудь умный, более быстрый способ сделать это, но это первое, что приходит на ум.