抱歉,如果这是一个无聊的问题,但我刚刚开始使用 Rails 和 jQuery。我有以下情况:
我有 3 个课程:contacts
和companies
( contact_company_joins
ccj)。对于我创建的所有三个类models
,controller
和views
。显然,联系人和公司是通过连接表 ccj 连接的(使用has_many :through
)。
contacts <-> contact_company_joins <-> companies
在我的联系人的“显示”视图中,我想显示一个表格,列出联系人所连接的所有公司(以及公司本身的一些附加信息,例如电话号码)。在我的公司看来,我也想做同样的事情,但这次是员工(联系人)的详细信息。表格的每一行最后都有一个典型的“删除”链接,我现在已经将它的函数连接到我的一个 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 对象,但在我从我公司的看法?
希望这一切都有意义:-)
问候,
塞巴斯蒂安