我试图在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):
答案 0 :(得分:0)
在你的web_app_controller.rb
中在控制器类声明之后添加此行。
respond_to :js, only: [:authentication]
从身份验证方法中删除respond_to块。然后重新提交请求。检查浏览器控制台以查看日志。