2017-11-21 10 views
0

私はRailsでAJAXでjavascriptを使用しようとしていますが、動作していません。AJAX respond_to is not wroking

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 

私はこの前にこれを行い、正常に動作しましたが、なぜそれを動作させることができないのかわかりません。私は何が欠けているのか分からない。

更新

ログ:あなたのweb_app_controller.rbで

Started GET "/login" for 127.0.0.1 at 2017-11-21 03:05:14 -0300 Processing by WebAppController#login as HTML Rendering web_app/login.html.erb within layouts/application Rendered web_app/login.html.erb within layouts/application (15.1ms) Completed 200 OK in 77ms (Views: 73.2ms | ActiveRecord: 0.0ms)

Started POST "/login" for 127.0.0.1 at 2017-11-21 03:05:43 -0300 Processing by WebAppController#authentication as HTML Parameters: {"utf8"=>"✓", "authenticity_token"=>"sFdGP449Z0Av5eMUPFYOAB/zvTAFViOoDcjFIfXWwu8/oj0iCpnN6fznk6f5AhQU7LSub+cvW2MWtMTD7SwgWA==", "web_app"=>{"code"=>"AQBIzFfceuIFFFsepBU2qzZfbY4nefzDLJFHQk8ZQ0rfp8mdBQHW4PLtWA_558Iro6HJiAKmN7_WI4aioLB96g42K-LPEHjbHJXnKUT_-KOxTHPsgfWXjx0m6yvuIF64Fd3KQTIgvX7AU3y4ibgnQVJFme6omcNl6sBCbxerDav6T3t6dEGYin8f8I0ewbAEvcLpu2u08ZtNH6RbPEo93rZVmAoc9Zu4TsDTSQ_R0-CQah72ZBaIr9bU3MesjuiXqRNj8dxWIrUnUlfE0rCo5gBK", "csrf"=>"abcd"}} Completed 406 Not Acceptable in 3ms (ActiveRecord: 0.0ms)

ActionController::UnknownFormat (ActionController::UnknownFormat):

+0

[ActionController :: UnknownFormat]の可能な複製(https://stackoverflow.com/questions/22943892/actioncontrollerunknownformat) –

+0

リクエストログを投稿してください。 – SSR

+0

@SSRが更新されました。 – exsnake

答えて

0

コントローラクラスの宣言の後に次の行を追加します。

respond_to :js, only: [:authentication] 

認証方法からrespond_toブロックを削除します。次に、要求を再送信します。ログを表示するには、ブラウザコンソールを確認してください。

+0

それは私にエラーが発生します。 ' 未定義のメソッド' respond_to 'for WebAppController:Classどういう意味ですか? respond_to? ' – exsnake

+0

@exsnakeどこにこの行を置いたのですか? – SSR