我将启动方法从rails s
更改为bundle exec puma
,以便puma可以读取其config/puma.rb
配置文件,现在某些浏览器的远程form_tags
已损坏(javascript浏览器忽略了响应)。
我检查了标头,发现响应现在包括两个内容类型的标头:
content-type: text/html; charset=windows-1251
content-type: text/javascript; charset=utf-8
如果我改为通过rails s
启动服务器,则它将按预期运行,并且仅显示一种内容类型:
content-type: text/javascript; charset=utf-8
似乎只有form_tag
和button_to
类型受到影响。例如,远程link_to
类型仍然可以正常工作。
有什么解决方法吗?
Ruby 2.3.3,Rails 4.2.11,Puma 3.12.1
remote_test_controller.rb:
class RemoteTestController < ApplicationController
def index
end
def update
@result = 'Some text from remote'
end
end
index.html.erb:
<h1>RemoteTest#index</h1>
<%= form_tag(remote_test_update_path, remote: true) do %>
<button id="update-btn" type="submit">Update</button>
<% end %>
<div id="update-test"></div>
update.js.erb:
$('#update-test').html('<%= @result %>')