JS (jQuery). Слушаем событие изменения в select, далее несколько вариантов:
- ajax запрос, получения нужных полей формы (html + js через ->renderAjax(
)
- поля заранее есть в отдельном блоке, мы просто прячем и показываем блоки
- есть конфиг в виде json, в нем селекторы полей, которые должны быть показаны при выбранном варианте.
Есть еще простой, но не userFrandly вариант, когда смена select приводит к get запросу с параметром, при котором просто перегенеривается страница. Но если с js проблемы - этот вариант может оказаться простым.