【问题标题】:Rails remote: true responseRails 远程:真实响应
【发布时间】:2014-01-18 16:08:52
【问题描述】:

我有一个无法解决的问题...我正在构建一个 rails 应用程序,我使用 remote: true 来将照片“附加”到某个可附加模型。虽然照片按预期附加,并且我在“create.js.erb”中编写的 JS 代码在服务器的响应中,但它没有被执行....如果我将响应复制并粘贴到浏览器的控制台中,一切正常预期的(这意味着没有语法错误)。

如果我更改 create.js.erb 中的代码(例如“alert('test');),我会收到警报...

我真的被困住了。

这是我在 create.js.erb 中的代码: $('il.attachements').html('');

正如我所说,我得到了生成的 html 的响应,但它没有被执行......如果我将它复制并粘贴到控制台中,它正是我想要的......

【问题讨论】:

  • 能否给出create.js.erb中的全部代码
  • 这就是 create.js.erb 中的全部内容...
  • 附加照片的按钮在一个fancybox弹出窗口上。您应该单击“添加”并将照片附加到(比方说)文章中。到目前为止一切都很好。但是,我想刷新显示附加照片的 div,这就是问题发生的地方。虽然我不明白问题是什么:)
  • 你使用的是 javascipt 还是 rails :remote => true option
  • 尝试像这样$(document).ready(function(){ $('il.attachements').html('<%= j render partial: "attachements_list", locals: {photos: "#{params[:attachable_id]}"%>'); }) 将该代码包装在 $(document).ready() 中

标签: jquery ruby-on-rails ruby ajax ruby-on-rails-3


【解决方案1】:

好的,所以我最终找到了解决方案(对于任何可能会遇到此类问题的人)。

问题是我试图在父文档中而不是在弹出窗口中进行更改。

以下对我的代码的更改起到了作用(我参考了父文档)

     var m = $('ul.attachements',parent.document);
    m.html('<%= j render partial: "attachements_list", locals: {photos: "#{params[:attachable_id]}"%>');

远没有我想象的那么复杂。 :)

【讨论】:

    猜你喜欢
    • 2012-12-03
    • 2014-10-22
    • 1970-01-01
    • 2018-12-06
    • 1970-01-01
    • 1970-01-01
    • 2011-04-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多