Ruby on Railsを使用してアプリケーションを作成し、herokuでTHINサーバーを使用しています。
現在Rails3.2.8を使用しています
私は理解できないこの奇妙な行動に出くわしました。
リンクは、ナビゲーションバー内のlink_toヘルパーを使用して作成されました。HTTP GETメソッドを明示的に使用したいので、rubyコードは次のように記述されています。
<%=link_to "FAQ",help_path,:method=> :get %>
結果のhtmlは次のようになります。
<a data-method="get" href="/en/help">FAQ</a>
rakeルートを実行すると、help_pathは次のように表示されます。
help (/:locale)/help(.:format) static_pages#Help {:locale=>/en}
ただし、FirebugのURLで何が起こっているかを([ネット]タブを使用して)見ると、GETメソッドの代わりにPOSTが使用されているように見えます。だから見る代わりに:
GET help
これは代わりに見られました:
POST help
次のようにgetメソッドの明示的な呼び出しを削除すると、次のようになります。
<%=link_to "FAQ",help_path %>
その結果、次のようになります。
<a href="/en/help">FAQ</a>
次に、firebug-> Netでは、このURLも表示されません:GET help
URL列の下に、代わりにこれが表示されます。
? undefined
URLが定義されていない場合、herokuのRailsアプリは、プリコンパイルされたマニフェストアセットファイルをロードする代わりに、すべてのアセットファイルを個別にロードしようとします。
誰かがこの状況を経験したことがありますか?Railsやherokuの魔法のブラックボックス、またはシンサーバーのどこでgetメソッドとpostメソッドの動作を変更できるのかよくわかりません。
どんな提案でも大歓迎です!