Пользовательское управление Formtastic с несколькими параметрами

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

f.input :latitude, :longitude, :as => :location

Я также попытался передать с массивом:

f.input [:latitude, :longitude], :as => :location

Но в обоих случаях это терпит неудачу - первый по количеству параметров, второй по первому параметру не является символом.

Есть ли способ пропустить два метода в #input, которые я пропускаю?

2 ответа

Решение

Хорошо, я разобрался с этим, написав плагин для Formtastic.

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

Подробнее по ссылке выше.

Вы не можете передать несколько методов для одного входа. То, что вы могли бы сделать, это иметь на вашей модели аксессор, который называется lat_long или аналогичный, который может возвращать строку или массив или что-либо в формате, который ваш location_input распознает и знает, как обрабатывать.

Другие вопросы по тегам