新しいマシンにレール3.0.3プロジェクトをインストールしましたが、form_tag:remote => trueに関連した奇妙な動作が発生しました。間違ったAcceptヘッダーがリクエストに設定されているようですので、AJAX/JSリクエストではなくHTMLリクエストになります。私の本番サーバーでAcceptヘッダーが正しく設定されていますRails 3.0 form_tag with remote incorrect accept:header
Accept:*/*;q=0.5, text/javascript, application/javascript, application/ecmascript, application/x-ecmascript
仕様を:
ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-linux]
Rails 3.0.3
しかし、新しいマシン上で私が設定していては、次のようになります。
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
仕様:
ruby 1.9.2p290 (2011-07-09 revision 32553) [x86_64-linux]
Rails 3.0.3
これは私が唯一format.jsに応答するが、リクエストがformat.htmlようにしてい形私のコントローラで(_request.html.erb内側)
<div id='request-translation'>
<h2 class="tr-req left"><%= t('user.translation_requests.request') %></h2>
<%= form_tag(request_translation_artist_song_path(@artist, @song),
:method => :post,
:remote => true,
:class => 'left',
:style => 'margin-left: 20px;') %>
<%= languages_combobox_large(@into_languages, 'language_id').html_safe %>
</form>
</div>
そしてもちろんを生成するためのコードです。私は思った:遠隔=>真はこれを世話した。フォームの生成されたHTMLにもよさそうだ:
<form accept-charset="UTF-8" action="/xxx/request_translation" class="left" data-remote="true" format="js" method="post" style="margin-left: 20px">
jquery.jsとjquery_ujs.jsをHTMLヘッダーに含めましたか? – iltempo
jquery_ujs.jsが見つかりませんでした:)。本番サーバーでは使用されていません - これはrails.jsと同じですか? – lyricat
右。私はそれから答えを出しました。 – iltempo