Formtastic префикс входных идентификаторов с именем модели - мы можем переопределить это?

У меня есть js-хуки в идентификаторы, сгенерированные с помощью формы для входов. Идентификаторы ввода имеют вид MODELNAME_INPUTNAME. Поскольку наша страница распределена по нескольким страницам и, как правило, проходит A/B-тестирование, имя модели постоянно меняется, скажем, от "кандидат_пликация_страница3" на "кандидат_приложение_страница1". Это означает, что в нашем коде JS много изменений или уровень абстракции для перевода идентификаторов. Оба из них делают JS труднее поддерживать.

Мы хотели бы решить эту проблему, изменив способ, которым formtastic вычисляет свои имена идентификаторов.

Существует ли что-нибудь для этого в форме? Если бы мы могли переопределить, предпочтительнее включить имя модели во входные идентификаторы на semantic_form_for уровень, это было бы самой легкой вещью. Мы нашли :namespace аргумент, но это только привязывает дополнительные слова к началу идентификатора, это не позволяет нам изменить бит имени модели.

1 ответ

Решение

Вы были близки в своем комментарии выше, можете использовать :as вариант сделать это.

<%= semantic_form_for @post, as: "article" do |f| %>
  <%= form.input :title %> <!-- #article_title -->
<% end %>
Другие вопросы по тегам