rails:3775
From: Nobukazu TAKAI <nocturne_2_eflat_9_2@m...>
Date: Fri, 01 Jun 2012 02:42:54 +0000 (GMT)
Subject: [rails:3775] safari と firefox の挙動の違いについて
高井と言います。
基本的なことかもしれませんが,どうしても解決できないので皆様のお知恵をお借りできないでしょうか?
rails のバージョンは 3.2.3 です。
<%= link_to 'ログアウト', session_path, :method => 'delete' %>
で記述して作成された HTML は以下のようになります(safari でも Firefox でも同じことを確認しました)。
<a href="/session" data-method="delete" rel="nofollow">ログアウト</a>
これを safari で実行するとログには
Started DELETE "/session" for 127.0.0.1 at Fri Jun 01 11:24:12 +0900 2012
Processing by SessionsController#destroy as HTML
と希望通りの動作をします。
しかし Firefox で同じサイトでログアウトを実行すると
Started GET "/session" for 127.0.0.1 at Fri Jun 01 11:25:24 +0900 2012
AbstractController::ActionNotFound (The action 'show' could not be found for SessionsController):
となり show を実行しようとします。
routes.rb には
resource :session
と記述しています。
rake routes の実行結果は
%rake routes
session POST /session(.:format) sessions#create
new_session GET /session/new(.:format) sessions#new
edit_session GET /session/edit(.:format) sessions#edit
GET /session(.:format) sessions#show
PUT /session(.:format) sessions#update
DELETE /session(.:format) sessions#destroy
となります。
route の設定から確かに GET /session は show を実行することは分かりますが,そもそもHTMLでそのような動作を設定していないのになぜFirefox では DELETE ではなく GET となってしまうのか全く分かりません。
どなたか解決策をご存知の方がいましたら,教えて頂けると助かります。
宜しくお願い致します。
-> @ 3775 2012-06-01 04:42 [nocturne_2_eflat_9_2] safari と firefox の挙動の違いについて 3776 2012-06-01 10:37 ┗[netwillnet@g... ] @ 3777 2012-06-02 00:49 ┗[nocturne_2_eflat_9_2]