繁体   English   中英

单击使用Ajax进行编辑时,用表单部分替换部分

[英]Replacing a partial with a form partial when clicking edit with ajax

在我的Rails应用程序中,我希望能够单击“编辑”以用部分表格替换/交换显示部分。

我已经开始通过将remote:true添加到我的编辑链接来开始应用ajax和jquery。 然后,我创建了一个名为edit.js.erb的js文件来调用ajax

这是我的想法控制器:

def edit
   @idea = Idea.find_by_permalink(params[:id])
end

在edit.js.erb中,我尝试过:

$("data-model[idea-basic-show]").hide().after("<%= j render('idea_basic_edit')%>");

但这没有用

然后,我尝试:

 $("#art_edit_show").replaceWith("ART EDIT PARTIAL");

确保js在正常工作

我在这里做错了什么?

好像您走在正确的轨道上。 要经常检查的事情:

  • 您是否看到任何JS错误? 检查浏览器的JS控制台。
  • 编辑JS实际在运行吗? 检查您的服务器日志以确保该操作正在运行,如果是,则发出alert('Got here'); 在edit.js.erb中查看是否出现。

在第一个示例中,jQuery选择器看起来很奇怪。 我对选择器的用法不熟悉。 您可能要检查一下。

如果在页面中有一个ID为art_edit_show的元素,则第二个绝对应该做某事。 确保元素具有id="art_edit_show"而不是id="#art_edit_show" ,这很容易犯错。

我喜欢使用的一种调试技术是控制台记录我要替换的选择器。 在替换元素之前,在edit.js.erb中执行以下操作:

console.debug($("#art_edit_show"));

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM