我有一個Rails應用程序正在爲開發中的每個請求生成重複請求。該應用程序在運行Ubuntu 10.4的主要開發機器上運行Rails 2.3.5。但是,相同的代碼運行正常,沒有在我的OS X 10.6框上顯示重複的請求。它也可以在任何一臺機器上以生產模式運行而不會出現問題Rails應用程序日誌記錄重複請求
Processing DashboardController#index (for 127.0.0.1 at 2010-07-16 10:23:08) [GET]
Parameters: {"action"=>"index", "controller"=>"dashboard"}
Rendering template within layouts/application
Rendering dashboard/index
Term Load (1.9ms) SELECT * FROM "date_ranges" WHERE ('2010-07-16' BETWEEN begin_date and end_date) AND (("date_ranges"."type" = 'Term'))
StaticData Load (1.1ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
Rendered dashboard/_news (0.1ms)
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
StaticData Load (0.9ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'TAG_LINE') LIMIT 1
Completed in 67ms (View: 58, DB: 5) | 200 OK [http://localhost/dashboard]
SQL (0.4ms) SET client_min_messages TO 'panic'
SQL (0.4ms) SET client_min_messages TO 'notice'
Processing DashboardController#index (for 127.0.0.1 at 2010-07-16 10:23:08) [GET]
Parameters: {"action"=>"index", "controller"=>"dashboard"}
Rendering template within layouts/application
Rendering dashboard/index
Term Load (1.9ms) SELECT * FROM "date_ranges" WHERE ('2010-07-16' BETWEEN begin_date and end_date) AND (("date_ranges"."type" = 'Term'))
StaticData Load (1.1ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
Rendered dashboard/_news (0.1ms)
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
CACHE (0.0ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'SITE_NAME') LIMIT 1
StaticData Load (0.9ms) SELECT * FROM "static_data" WHERE ("static_data"."name" = E'TAG_LINE') LIMIT 1
Completed in 67ms (View: 58, DB: 5) | 200 OK [http://localhost/dashboard]
SQL (0.4ms) SET client_min_messages TO 'panic'
SQL (0.4ms) SET client_min_messages TO 'notice'
請注意,該請求是正是一樣,甚至下降到了時間戳。
我試過使用Ruby 1.8.7 & 1.9.1以及在Mongrel & Webrick之間交換,它總是處理每個請求兩次(或者至少它會生成兩個日誌條目)。我嘗試刪除大部分路線,看看我是否有奇怪的事情發生,但問題依然存在。我嘗試了不同機器上的不同瀏覽器(Chrome瀏覽器,Safari瀏覽器,eLinks),看看這會有所幫助,但問題依然存在。我刪除了所有的寶石,只是取代了必要的寶石,但無濟於事。
有沒有人有任何想法爲什麼Rails會導致這樣的重複請求?我正在思考我的智慧,並且抓着吸管。唯一的亮點在於,這種行爲在生產環境下不會發生,只有發展。
我遇到同樣的事情之後 - 使用Rails 2.8.6的雪豹。 – 2010-12-19 10:25:43