Выбрать или создать для ввода has_many для Formtastic?

#ruby-on-rails #input #formtastic

#ruby-on-rails #ввод #formtastic

Вопрос:

Я не знаю, есть ли уже вход для этого, другой драгоценный камень, я не знаю, я ничего не нашел, что странно, потому что это кажется очень обязательным поведением.

Я имею в виду некоторый ввод, который использует <select name="user[person_id]"> и <input name="user[person_attributes][name]"> , чтобы создать новый или выбрать из списка.

Я хотел знать, есть ли что-нибудь, что делает это, прежде чем я начну выполнять «связанный» ввод вместо использования 2 отдельных. И немного Javascript, чтобы скрыть текстовое поле, если что-то было выбрано.

Ответ №1:

Вам в значительной степени придется использовать свой собственный javascript для динамических битов. Вы можете передать коллекцию во ввод формы, которая содержит специальную опцию, такую как:

<%= input :person, :as => :select, :collection => Person.all.map {|p| [p.name, p.id]} ["Create a new person", "new"] %>

а затем запустите свой собственный javascript для запуска через onChange, когда значение установлено в ‘new’, показывая форму для создания нового пользователя.