Добавить модальный диалог в Rails? - PullRequest
3 голосов
/ 02 сентября 2011

Я хочу добавить ссылку Ajax в свое приложение.Когда я нажимаю на ссылку, должно появиться модальное диалоговое окно, содержащее сведения о событии. Я добавляю эту ссылку в свой вспомогательный класс.

 link_to(event.name, events_path(@event), :remote => true 

Затем я создаю файл js для вставки содержимого в скрытый div.

$('.modal').html(<%= escape_javascript(render(@event)) %>); 
$('.modal').dialog(); 

Здесь модал мой скрытый div.Но это не могло выскочить любой модальный диалог.Я не могу понять, что это за ошибка и почему она не работает.Плз, кто-нибудь может мне помочь исправить это?

Ответы [ 2 ]

2 голосов
/ 02 сентября 2011

Изменение

$('.modal').html(<%= escape_javascript(render(@event)) %>);

до

$('.modal').html("<%= escape_javascript(render(@event)) %>");

С точки зрения JS ваш код будет недействительным, потому что вы не заключаете рендер в кавычки, и он попытается оценить ваш HTML.

EDIT

Если вы пытаетесь связать это с щелчком show, вам нужно использовать show.js.erb, чтобы показать ваш модальный диалог, а не create.js.erb. create будет вызываться только в том случае, если вы POST заполняете форму для /events, тогда как здесь, похоже, вы пытаетесь показать только детали события.

Поместите приведенный выше код (с кавычками) в show.js.erb, убедитесь, что у вас есть respond.js ответ в методе show на контроллере, и попробуйте снова.

0 голосов
/ 13 сентября 2011

Возможно, вы не установили Jquery, так как по умолчанию для rails используется библиотека Prototype.Я бы обновил до Rails 3.1, что облегчает использование jquery:

rails new example -j jquery

или установку jquery: http://railscasts.com/episodes/136-jquery

...