如何解决在Rails 6.1 RC1上对ActionText进行JSONAJAX更新失败
我有一个使用ActionText
的表单的基本Web应用程序。进行更改后,会有一个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]}.
有人能阐明为什么会这样吗?我曾尝试挖掘源代码,但我没有一个明智的选择。我还想知道它是否与this issue有关。
谢谢。
解决方法
我已经解决了以下问题。最初,我在format: :json
声明中有form_with
:
<%= 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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。