Ваш код выглядит так, как будто вы действительно хотите использовать диалоговое окно jQuery UI .Насколько я знаю, Prototype (или Scriptaculous) не имеет встроенной поддержки диалога.
Если вы хотите иметь диалоговое окно jQuery UI, у вас есть два варианта:
- Использовать jQuery и jQuery UI вместе с Prototype.
- Replace Prototypeи только использовать jQuery
Опция 1:
Чтобы использовать jQuery вместе с Prototype, необходимо включить библиотеки jQuery Javascript и включить режим совместимости, вызвав jQuery.noConflict()
.После этого функция $
принадлежит Prototype, и для всех функций jQuery вы должны использовать jQuery(...)
.Например jQuery('create_event_dialog').dialog(...
в вашем случае.
Вы можете найти подробную информацию о Использование jQuery с другими библиотеками .
Опция 2:
Вы должны удалить прототипбиблиотеки и вместо этого включают библиотеки JQuery.Вам также нужна библиотека совместимости jRails , чтобы сохранить помощников прототипа.И вам нужно изменить существующий код прототипа на код jQuery.
Например, ваш оператор Element.update
будет выглядеть так:
$("#create_event".html("<form action=...")
См. Использование jQuery сRuby on Rails для получения более подробной информации.
Осторожно: В зависимости от вашего существующего кода вариант 2 может быть очень трудоемким, но в результате получится более чистый код Javascript.Также стоит подумать о переходе на Rails 3.1 с UJS и jQuery в качестве официальной библиотеки Javascript.