Я использую партиалы в Rails в сочетании с шаблонами дочерних полей jQuery для динамического создания форм с несколькими вложенными дочерними атрибутами.В этих частичках есть JavaScript, который запускается, когда в форме происходят различные события (например, onChange), и выполняемый код должен изменить DOM для связанного, но другого элемента формы.В этом конкретном случае я использую его для добавления нескольких транзакций продажи в решении типа торговой точки к определенной группе транзакций и управления тем, какие данные собираются для каждой транзакции.Так, например:
- Пользователь нажимает на ссылку, которая добавляет 3 новые записи транзакции в группу транзакций.
- Пользователь устанавливает разные значения в каждой из этих трех записей транзакции, каждая изкоторый запускает событие onChange, которое вызывает функцию JS, которая должна по-разному манипулировать DOM для каждого из событий.(Пример: транзакция 1 может быть возвратом, поэтому она изменяет текст транзакции с стоимости на возврат, транзакция 2 может относиться к услуге, поэтому она меняет налогооблагаемый статус и т. Д.)
- JS-функция должна иметь возможность изменять DOM для правильной транзакции.
Моя проблема # 3 - изменяемые элементы DOM не совпадают с элементом, генерирующим событие, поэтому я могу 'т JS это .Они являются частью общего родительского элемента (то есть имеют общий родительский элемент ), поэтому я могу использовать селекторы родительского / дочернего jQuery для перехода к нужному элементу в DOM.Однако даже для этого требуется некоторая уникальность атрибутов div id, и я не уверен, что в Rails лучший способ их динамической генерации.
Полагаю, я мог бы использовать случайные значения, но это плохо, потому что этона самом деле не гарантированно быть уникальным и просто кажется взломать.Полагаю, я мог бы попытаться ввести какой-то счетчик, но это, кажется, нарушает принципы разработки Rails.
Любое руководство приветствуется.Спасибо!