Rail 5.1 - 使用AJAX表单提交的ActionController :: UnknownFormat

时间:2017-11-29 22:28:58

标签: ruby-on-rails ajax

我的聊天框输入如下:

<div class="chatboxinput">
  <%= form_with(url: [@conversation, @message], id: "conversation_form") do |f| %>
      <%= f.text_area :body, class: "chatboxtextarea", "data-cid" => @conversation.id %>
  <% end %>
</div>

正如您所看到的,只是一个基本的form_with(省略了remote:true,因为它是默认值)。

此表单提交时如下:

$('#conversation_form').submit();

它应该通过AJAX提交,然后运行一个javascript文件。

提交该表单时运行的代码如下所示:

class MessagesController < ApplicationController

  before_action :authenticate_users_user!

  def create

    #Do stuff here

    respond_to :js
  end
end

#Do stuff here代码执行得很完美,但不是渲染文件messages/create.js.erb,而只是返回错误

ActionController::UnknownFormat

    respond_to :js
  end

终端显示:

Completed 406 Not Acceptable in 13ms (ActiveRecord: 3.7ms)

ActionController::UnknownFormat (ActionController::UnknownFormat):

app/controllers/messages_controller.rb:22:in `create'

我查看了每个相关的堆栈溢出线程,并且不知道为什么会这样。

另外,我注意到,当发送呼叫时,终端显示Processing by MessagesController#create as HTML这不应该是JS吗?

0 个答案:

没有答案