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
我有一个基本的 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