открытие всплывающей формы jquery в rails для отображения комментариев и создания комментария - PullRequest
1 голос
/ 29 сентября 2011

У меня есть стандартный контроллер комментариев, присоединенный к моему проекту через ассоциацию has_many.

У меня есть ряд строк, которые показывают последние комментарии.

Когда пользователь нажимает на комментарий, который отображается (скажем, он нажимает на заголовок), тогда я хочу

1) всплывающее окно, которое показывает а) форма для отправки комментария б) под формой комментариев, список всех комментариев, связанных с проектом.

Мне трудно заставить всплывающее окно работать, а затем заполнить всплывающее окно цифрами 1 и 2 сверху.

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

Я думаю, что могу сделать это с помощью jquery и rails, но не уверен, как. Я использую JQuery-рельсы.

спасибо за помощь!

Ответы [ 3 ]

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

Похоже, вы захотите использовать AJAX в своих Rails.Ненавязчивая поддержка Rails JavaScript и AJAX позволяет вам загружать удаленные представления во всплывающие окна без перезагрузки страницы, и я думаю, что вы, вероятно, захотите сделать это, загрузив удаленное представление, содержащее комбинацию редактирования / отображения комментариев, в ваше всплывающее окно.,Затем AJAX обновит главную страницу после закрытия диалога.

Я бы начал с этого короткого урока на , используя ненавязчивый JavaScript с AJAX с Rails 3 , затем проверил Facebox , о котором я узнал из этого поста, в котором задается вопрос, связанный с вашим .

Удачи!

1 голос
/ 29 сентября 2011

В качестве начала вы можете взглянуть на демонстрацию диалога JQuery - поместить форму в диалог и отправить ее с помощью ajax (remote => true) и закрыть диалоговое окно в случае успеха. Ответ Эвана даст вам более красивое и в конечном итоге лучшее решение (как и многие другие подобные лайтбоксу драгоценные камни), но использование диалога jquery, вероятно, самый простой способ начать

0 голосов
/ 09 октября 2011

Я пошел с Facebox, и оба ответа были хорошими, так что спасибо. Однако у меня есть следующая проблема: Есть идеи?

с Facebox, я получаю необработанный текст, когда использую его для селектора ('#facebox .content'). Он отлично работает для ('#facebox') или ('#facebox .popup'). Ребята, вы столкнулись с этим? Под необработанным выводом я имею в виду следующее:

$('#facebox .content').html("
\n Hello from box div\n<\/div> ");

вот что видно в коробке. и только для селектора .content!

в application.js у меня есть:

$('a[rel*=facebox]').facebox(function($) {
   $.getScript(this.href);
});

в моем контроллере:

 respond_to do |format|
    format.html # show.html.erb
    format.xml  { render :xml => @project }  
    format.js {render :layout => false} 
  end        

в моем show.js.erb:

$('#facebox .content').html("<%= escape_javascript(render("spaces"))%>");
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...