来自 .js.erb 的 JavaScript 被执行,但也显示为文本

JavaScript from .js.erb is executed but is also displayed as text

本文关键字:显示 文本 执行 erb js JavaScript 来自      更新时间:2023-09-26

我在弹出窗口中有一个表单,如下所示:

<%= form_tag "/controller/action", :method => :get, :remote => true do %>
...
<% end %>

在我的控制器中:

respond_to do |format|
  format.js
end

提交后,我正在尝试更改action.js.erb父窗口的元素:

window.opener.$('#some-div').html('<div class="flash notice">...</div>');

或者没有jQuery:

window.opener.document.getElementById('some-div').innerHTML = '<div class="flash notice">...</div>';

在这两种情况下,我都会在我的div 中得到我想要的闪光消息以及整个动作内容.js.erb 作为文本。

我做错了什么?

我猜Rails正在逃避你的文本。