AJAX respond_to不是

时间:2017-11-21 05:11:48

标签: javascript ruby-on-rails ajax

我试图在Rails中使用带有AJAX的JavaScript,但是没有用。

login.hmtl.erb文件:

<%= form_for :web_app, :html => { :id => 'login_form' } , :url => {:action => 'authentication'}, :remote => true  do |f| %>

web_app_controller.rb行动:

  def authentication
    respond_to do |format|
      format.js
    end
  end

authentication.js.erb文件

console.log("hi");

我收到此错误:

ActionController::UnknownFormat

我以前做过这件事,工作得很好,但不知道为什么我不能让它发挥作用。我不知道我错过了什么。

更新

日志:

  

开始GET&#34; / login&#34;对于127.0.0.1,2017-11-21 03:05:14 -0300   由WebAppController处理#login作为HTML呈现   渲染/布局/应用程序中的web_app / login.html.erb   布局/应用程序中的web_app / login.html.erb(15.1ms)已完成   在77ms内200 OK(浏览次数:73.2ms | ActiveRecord:0.0ms)

     

开始POST&#34; / login&#34;对于127.0.0.1在2017-11-21 03:05:43 -0300   通过WebAppController处理#身份验证作为HTML参数:   {&#34; UTF8&#34; = GT;&#34;✓&#34 ;,   &#34; authenticity_token&#34; = GT;&#34; sFdGP449Z0Av5eMUPFYOAB / zvTAFViOoDcjFIfXWwu8 / oj0iCpnN6fznk6f5AhQU7LSub + cvW2MWtMTD7SwgWA ==&#34 ;,   &#34; web_app&#34; = GT; {&#34;代码&#34; = GT;&#34; AQBIzFfceuIFFFsepBU2qzZfbY4nefzDLJFHQk8ZQ0rfp8mdBQHW4PLtWA_558Iro6HJiAKmN7_WI4aioLB96g42K-LPEHjbHJXnKUT_-KOxTHPsgfWXjx0m6yvuIF64Fd3KQTIgvX7AU3y4ibgnQVJFme6omcNl6sBCbxerDav6T3t6dEGYin8f8I0ewbAEvcLpu2u08ZtNH6RbPEo93rZVmAoc9Zu4TsDTSQ_R0-CQah72ZBaIr9bU3MesjuiXqRNj8dxWIrUnUlfE0rCo5gBK&#34 ;,   &#34; csrf&#34; =&gt;&#34; abcd&#34;}}已完成406在3ms内无法接受(ActiveRecord:   0.0ms)

     

ActionController :: UnknownFormat(ActionController :: UnknownFormat):

1 个答案:

答案 0 :(得分:0)

在你的web_app_controller.rb

在控制器类声明之后添加此行。

respond_to :js, only: [:authentication]

从身份验证方法中删除respond_to块。然后重新提交请求。检查浏览器控制台以查看日志。