JSON (AJAX) ActionText 更新在 Rails 6.1 RC1 上失败

JSON (AJAX) update of ActionText fails on Rails 6.1 RC1

我有一个基本的 Web 应用程序,其表单使用 ActionText。进行更改后,有一个 Trix 侦听器通过 AJAX(自动保存!)调用我的控制器。控制器看起来像这样:

  def update
    respond_to do |format|
      if @model.update(model_params)
        format.json { render json: @model }
      else
        format.json { render json: @model.errors, status: :unprocessable_entity }
      end
    end
  end

这在 Rails 6.1 alpha 上运行得非常好,但由于 update to Rails 6.1 RC1 相同的代码导致此错误:

ActionView::MissingTemplate (Missing partial action_text/content/_layout with 
{:locale=>[:en], :formats=>[:json], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby]}. 

有谁能解释为什么会这样吗?我已尝试挖掘源代码,但我 none 更明智。我也想知道它是否与 this issue.

有关

提前致谢。

我已经解决了这个问题如下。最初我在 form_with 声明中有 format: :json

<%= form_with(model: @model, format: :json) do |form| %>

这在 Rails 6.1 Alpha 中有效,但在 RC1 中无效。从代码中删除格式解决了问题。

<%= form_with(model: @model) do |form| %>

POST 请求现在以 JS 而不是 JSON 的形式通过,这使问题消失了。

Processing by MyController#update as JS