2017-05-30 28 views
0

私のレールアプリはUJSを使用してフォーム全体を送信しますが、何らかの理由でここで動作させることはできません。Rails "remote:true"はlink_toで動作し、form_tagで動作しません

私はUJSは(それが他の場所で作品として)適切に設定しているかなり確信している:

#application.html.erb 
<%= javascript_include_tag 'application' %> 

#assets/javascripts/application.js 
//= require jquery 
//= require jquery_ujs 

を私の見解では、私はform_taglink_toの両方を持って、両方のremote: trueに設定:

予想通り
<%= form_tag apply_tag_applications_path, remote: true, method: :post do %> 
    <%= submit_tag "FORM TAG SUBMIT" %> 
<% end %> 

<%= link_to apply_tag_applications_path, remote: true, method: :post do %> 
    <h1>LINK TO SUBMIT</h1> 
<% end %> 

link_to作品をクリックする(要求フォーマットは、JSである):

Started POST "/tag_applications/apply" for ::1 at 2017-05-30 11:10:51 -0400 
Processing by TagApplicationsController#apply as JS 

しかし、HTMLを介したform_tag提出クリック:

Started POST "/tag_applications/apply" for ::1 at 2017-05-30 11:11:02 -0400 
Processing by TagApplicationsController#apply as HTML 

することは誰もが期待どおりに動作しない二番目の原因かもしれないものを提案することはできますか?

+0

あなたは' form_tag apply_tag_applications_path、方法を試してみましたが、動作しますか? –

+0

'remote:true'の代わりに' data:{remote:true} 'を使用しても問題は解決しませんでしたが、私はあなたの提案(' data:{remote:true} ')を使ってレンダリングされたHTMLに気づきましたフォームに追加される真正性トークンを持つ隠しフィールドが発生しました。私は上記の私の質問によると、この隠されたフィールドがコードで表示されません。 –

+0

あなたのルートとコントローラコードを掲示し、対応するjsファイルの名前を表示してください(コントローラーのアクション名が.js.erbのものでなければなりません) – the12

答えて

0

レイアウトまたはアセットのjquery_ujsファイルを参照していることを確認します。

#application.html.erb 
<%= javascript_include_tag :jquery, :jquery_ujs %> 

#assets/javascripts/application.js 
require jquery.js 
require jquery_ujs 

リモートオプションは、form_forへのパスの代わりにオブジェクトを渡す場合にのみ機能します。 :ポスト、データ:{リモート:真} `

これは

<%= form_for @apply_tag, remote: true, method: :post do |f| %> 
    <%= f.submit "FORM TAG SUBMIT" %> 
<% end %> 
+0

はい、これらの参照が両方とも存在することを確認できますこれを反映するため)。 –

+0

私は答えを編集しました。基本的には、パスの代わりにオブジェクトを渡すと、リモートオプションが機能します。または、両方ともurlオプションを使用して送信することもできます。 –

+0

申し訳ありませんが、これはまだ動作していません。リクエストはHTMLとして受信されています: 'Started POST"/:: tag_applications for :: 1 at 2017-05-30 11:52:23 -0400' 'TagApplicationsController#による処理 ' –

関連する問題