0

在我的 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 正常工作并且确实有效

我在这里做错了什么?

4

1 回答 1

0

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

  • 您是否看到任何 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"));
于 2013-11-08T22:28:25.217 回答