Rails 3 id элемента формы не уникален - PullRequest
0 голосов
/ 22 сентября 2010

Что я использую помощники формы rails для создания формы, элементы ввода в этой форме имеют атрибуты id, чтобы они могли совпадать с их метками.Проблема в том, что этот идентификатор похож на person_first_name, а не person_first_name_#{person.id}, что означает, что если у меня на одной странице более одной формы одного типа, могут произойти непредвиденные ситуации.

Прекрасным примером этого являетсяиспользуя JQuery-UI DatePicker.У меня есть ряд форм, все из которых содержат элемент text_field, завернутый в div с классом datepicker.Я применяю средство выбора даты следующим образом (в документе готово) $('.datepicker input').datepicker(options) и угадаю, что каждый из этих элементов, хотя и имеет, по-видимому, работающую кнопку выбора даты (нажмите на ввод, появится средство выбора даты), хотя когда дата выбрана в любом из этих средств выбора датытолько первый элемент на странице (того типа элемента, например, input id = ключ_послания) обновляется со значением.

Любые предложения по получению рельсов для вывода более уникальных идентификаторов элементов или заставить указатель даты не использовать идентификаторатрибут?

Ответы [ 3 ]

0 голосов
/ 30 января 2011

Можно подумать, что если вы установите идентификатор формы, чтобы сказать: id => "edit_person _ # {person.id}", то этот идентификатор будет каскадно понижаться в логику метки и поля.Из того, что я вижу, слишком много автомагиков в добавлении красноречивого пользовательского решения.

0 голосов
/ 30 января 2011
# Haml
= form_for @model do |f|
  .field
    = f.label :field_name
    = f.text_field :field_name

При использовании приведенного выше примера идентификаторы отображаются так, как ожидается.

0 голосов
/ 22 сентября 2010

Вы можете легко настроить идентификатор вашего ввода.

text_field(:person, :first_name, :id => "person_first_name_#{person.id}")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...