我有一个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