4
私はこれまで何度も検索してきましたが、これがなぜ機能していないのか理解できません。Rails 3.2.x remote => trueはまだページをリロードします
私は非常に基本的なAjaxアクションをテストしようとしています。ここに私のコードです:
コントローラー:
def commit
respond_to do |format|
format.html { redirect_to :action => "index" } # see note 1
format.js { render :layout => false } # see note 2
format.js { render :nothing => true }
end
end
ビュー:
<%= link_to "commit", :action => "commit", :remote => true %>
<%= form_tag(:action => "commit", :remote => true, :method => :post) do %>
<%= submit_tag "commit" %>
<% end %>
<div id='message'></div>
commit.js.erb
console.log('committed');
$('#message').html("committed");
問題は、私はcommitメソッドを取得したいですしかし、ページがリロードされると、remote => trueの点を打ち負かす また、commit.jsはcaだまされた。
注1:この行を除外すると、空白のページが/ commitになります。私は他のSOの記事
注3によって提案されたこれらのアプローチの両方試してみた:それはページがちょうど
注2リロードせ含め、私が使用してのlink_toとform_tag両方
を試してみたことは誰もが助けることはできますか?ありがとう!
私は見る! format.jsのどちらの引数もうまくいきますが、私はパスの代わりに:action!を渡す必要があります。ありがとう! – Jason
このようにしてください: ':action'はパスを定義し、':remote'はその処理方法を定義します。それらをまとめるのは変です。 ':remote'を' params'に渡すには?それは混乱するだろう! – jdoe