0

我对 ajaxified Rails 部分有一个令人沮丧的问题。在第一次请求时,部分将按预期替换。在所有后续请求中,部分似乎已正确加载,但未添加到 DOM。我必须在这里忽略一些明显的东西(也许与 Turbolinks 相关?)。任何人都可以帮忙吗?

#myobjects/index.html.erb

<div id="container">
<%= render partial: "myobjects/myobject", collection: @myobjects %>
</div>

<%= link_to "All", myobjects_path, remote: true %>
<%= link_to "Approved", myobjects_path(filtered: "approved"), remote: true %>
<%= link_to "Rejected", myobjects_path(filtered: "rejected"), remote: true %>

#myobjects/index.js.erb
$('#container').html("<%= render partial: 'myobjects/myobject', collection: @myobjects");

例子:

  1. 我加载myobjects索引,显示所有记录。
  2. 我点击Approved链接,只显示批准的记录。
  3. 我单击其他链接之一,DOM 没有改变。

我可以看到myobjects/_myobject.html.erb部分正在正确加载,即使在上面的第 3 点也是如此。如果我添加<% Rail.logger.info myobject.to_yaml %>正确的记录,详细信息将被打印到日志中。然而,部分并没有添加到 DOM 中。

我错过了什么?

4

0 回答 0