ввод simple_form с несколькими полями - PullRequest
5 голосов
/ 18 августа 2011

Я не совсем уверен, каковы правильные термины, но то, что я пытаюсь сделать, это в форме (предпочтительно с использованием гема simple_form) иметь один из входных данных: максимум, использовать оба текстовых поля и выбратькоробка.Пользователь вводит в текстовое поле число, а затем выбирает из выпадающего списка часы, дни или месяцы.Итак, 21 день, 3 месяца, 3 часа и т. Д. Когда форма была отправлена, я бы преобразовал ее в дни и сохранил в базе данных.Я знаю, как изменить тип ввода в simple_form, но возможно ли иметь два входа для одной переменной?

1 Ответ

4 голосов
/ 20 августа 2011

Конечно :) Вот моя идея:

Сначала вы определяете методы доступа в вашей пользовательской модели:

attr_accessor :thing, :another_thing, :and_another_thing

Затем, по вашему мнению, "inside" form_for Helper, вы можете написатьнапример:

<%= form.input :thing, :as => :boolean %>
<%= form.input :another_thing, :as => :text %>

... или что угодно.(Примечание: я использую formtastic здесь. Вам следует рассмотреть возможность использования методов Rails, если вы не используете formtastic gem.)

Наконец, вы определяете обратный вызов в вашей пользовательской модели:

before_create :build_my_fancy_record

def build_my_fancy_record
  self.storage_field = "#{thing} #{another_thing}"
end
...