【问题标题】:Replacing a partial with a form partial when clicking edit with ajax单击使用ajax编辑时用表单部分替换部分
【发布时间】:2013-11-08 21:33:52
【问题描述】:

在我的 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 工作正常

我在这里做错了什么?

【问题讨论】:

    标签: javascript jquery ruby-on-rails ajax


    【解决方案1】:

    看来你是在正确的轨道上。需要经常检查的事项:

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

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

    第二个肯定应该做点什么,前提是页面中有一个 ID 为 art_edit_show 的元素可见。确保元素有id="art_edit_show" 而不是id="#art_edit_show",这是一个容易犯的错误。

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-08-24
      • 1970-01-01
      • 1970-01-01
      • 2019-04-29
      • 2015-09-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多