Javascript 单击“使用ajax编辑”时,将分部替换为表单分部

Javascript 单击“使用ajax编辑”时,将分部替换为表单分部,javascript,jquery,ruby-on-rails,ajax,Javascript,Jquery,Ruby On Rails,Ajax,在我的rails应用程序中,我希望能够单击“编辑”将show partial替换为/替换为form partial 通过在编辑链接中添加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

在我的rails应用程序中,我希望能够单击“编辑”将show partial替换为/替换为form partial

通过在编辑链接中添加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')%>");
确保js正常工作,并且确实有效


我做错了什么?

看来你走对了方向。需要经常检查的事项:

  • 您是否看到任何JS错误?检查浏览器的JS控制台
  • 编辑JS是否正在运行?检查服务器日志以确保操作正在运行,如果正在运行,则发出
    警报('Got here')并查看是否显示
在第一个示例中,jQuery选择器看起来很奇怪。我不熟悉选择器的用法。你可能想检查一下

如果页面中有一个ID为art_edit_show的元素,那么第二个元素肯定会做些什么。确保元素具有
id=“art\u edit\u show”
而不是
id=“#art\u edit\u show”
,这很容易出错

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

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