【发布时间】:2018-11-01 18:27:14
【问题描述】:
我有一个form_with,它可以远程提交并且几乎适用于所有人。但是,每隔一段时间,用户就会收到此错误:
ActionController::UnknownFormat: TestimonialsController#create is missing a template for this request format and variant.
request.formats: ["text/html"]
request.variant: []
查看:
<%= form_with(model: [@event, @testimonial]) do |form| %>
...
<% end %>
行动:
def create
@testimonial = @event.testimonials.find_or_initialize_by(user: Current.user)
@testimonial.assign_attributes testimonial_params.merge({status: :pending})
@testimonial.save
end
回应:
它在一个名为create.js.erb的文件中
问题:我到处看了,但我不知道为什么某些用户请求 HTML 而不是 JS,这是每个其他用户都得到的。我错过了什么?我真的不想支持 HTML 响应。
【问题讨论】:
-
你的意思是你想像
JSON请求一样回答每个请求? -
不完全。
form_with使用 XHR 提交所有请求并期望 JS 响应。但一小部分请求似乎是通过标准 HTML 提交的,因此期待 HTML 响应。我想了解为什么会这样。
标签: ruby-on-rails actioncontroller