Извините, если это нудистский вопрос, но я только начинаю с Rails и jQuery. У меня есть следующий сценарий:
У меня есть 3 класса: контакты, компании и contact_company_joins (ccj).
Для всех трех классов я создал модели, контроллер и представления. Очевидно, контакты и
компании соединяются через ccj (используя has_many: through).
контакты <-> contact_company_joins <-> компании
В представлении «Показать» моего контакта я хочу отобразить таблицу, в которой перечислены все компании, к которым подключен контакт (и некоторую дополнительную информацию о самой компании, например, номер телефона). По мнению моей компании, я хочу сделать то же самое, но на этот раз с подробностями о сотрудниках (контактах).
Каждая строка таблицы имеет типичную ссылку «удалить» в конце, функцию которой я теперь подключил к одной из моих функций jQuery:
$('.edit_contact_join_delete').livequery('click', function() {
var $deleteButton = $(this);
var answer = confirm("Sure?");
var dataloc = "&_method=delete";
if (answer) {
$.ajax({
type : "POST",
url : this.href,
data : dataloc,
success: function(result) {
}
});
}
return false;
});
В обоих представлениях (контакт и компания) действие удаления приводит меня к функции уничтожения контроллера ccj.
Теперь я хочу обновить или повторно отобразить таблицу отдельного сайта (контакт или компанию), который вызывает функцию удаления, но ТОЛЬКО часть таблицы. Я думаю, я должен реализовать это в функции «успех» выше? Но опять же, даже если я верну что-то из контроллера ccj (визуализированный частичный?) ... это было бы одинаково как для контакта, так и для компании, верно?
Как я могу убедиться, что после моего вызова Ajax для уничтожения объекта ccj я получу свежий объект DOM для представления моего контакта (который будет новой таблицей компании), но также получу новую таблицу контактов, когда я выполняю вызов Ajax из вид моей компании?
Надеюсь, все это имеет смысл: -)
С уважением,
Себастьян