2010-07-16 18 views
8

Tôi có ứng dụng Rails đang tạo yêu cầu trùng lặp cho mọi yêu cầu phát triển. Ứng dụng đang chạy Rails 2.3.5 với máy phát triển chính của tôi chạy Ubuntu 10.4. Tuy nhiên, cùng một mã chạy tốt mà không hiển thị các yêu cầu trùng lặp trên hộp OS X 10.6 của tôi. Nó cũng chạy trong chế độ sản xuất trên một trong hai máy mà không có vấn đề.Yêu cầu bản sao đăng nhập ứng dụng 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' 

Chú ý rằng yêu cầu là chính xác giống nhau, thậm chí xuống đến timestamps.

Tôi đã thử sử dụng Ruby 1.8.7 & 1.9.1 cũng như trao đổi giữa Mongrel & Webrick và nó luôn xử lý từng yêu cầu hai lần (hoặc ít nhất nó tạo hai mục nhật ký). Tôi đã cố gắng loại bỏ hầu hết các tuyến đường để xem tôi có điều gì đó kỳ lạ đang diễn ra hay không, nhưng vấn đề vẫn tồn tại. Tôi đã thử các trình duyệt khác nhau (Chrome, Safari, eLinks) từ các máy khác nhau để xem điều đó có hữu ích hay không, nhưng sự cố vẫn tiếp diễn. Tôi đã loại bỏ tất cả đá quý của mình và chỉ thay thế những thứ cần thiết nhưng không có kết quả.

Có ai có bất kỳ ý tưởng nào tại sao Rails sẽ gây ra các yêu cầu trùng lặp như thế này không? Tôi sắp hết trí thông minh và đang cầm ống hút. Tia sáng duy nhất là hành vi này không xảy ra trong môi trường sản xuất, chỉ phát triển.

Trả lời

1

Câu trả lời "" cho vấn đề là chuyển sang thư mục mới và tìm nạp mã gốc từ Github. Sau khi nhận được mọi thứ được cấu hình và thiết lập trong thư mục mới, ứng dụng hoạt động như nó không có yêu cầu trùng lặp. Tôi vẫn không biết tại sao mã trong thư mục gốc bị bung ra; Tôi thậm chí còn phân biệt các thư mục và các ngoại lệ duy nhất là các tệp nhật ký.

Tôi đang trả lời câu hỏi của riêng mình ở đây vì sự tỉnh táo của những người khác có thể gặp phải vấn đề tương tự.

+0

Tôi đang gặp điều tương tự này - sử dụng Rails 2.8.6 trên tuyết. –

5

Kiểm tra mã của bạn xem có cái gì đó như thế này bên trong nó:

tôi đã có cùng một vấn đề chỉ là bây giờ becase của một thẻ

<img src="#"> 

điều này sẽ gây ray để đưa ra yêu cầu trùng lặp!

+0

CÓ !!! Đây là câu trả lời cho tôi. Khen ngợi www! –

+0

Giải pháp tuyệt vời. Cảm ơn rất nhiều .. – akbarbin

2

tôi giải quyết vấn đề này bằng cách bình luận dòng sau trong app/config/môi trường/development.rb:

config.middleware.use Rails::Rack::LogTailer 

Tôi không nhớ chính xác lý do để sử dụng thiết lập này

2

tôi giải quyết cùng này vấn đề ở đây bằng cách làm sạch tất cả các tài sản biên dịch sẵn với: rake assets:clean

Tôi đã cố gắng xóa thư mục ứng dụng và sau đó kiểm tra lại từ GitHub nhưng không hoạt động.

hy vọng trợ giúp này. cảm ơn.

1

Điều này bắt đầu xảy ra với tôi khi phát triển sau khi chơi xung quanh với một số phần mềm trung gian tùy chỉnh mà tôi đã viết. Chạy tài sản cào: sạch: tất cả đã giải quyết được.

0

Giải pháp khắc phục nhỏ này đã giải quyết được sự cố của tôi. Thực hiện theo các bước sau:

Trong thư viện bên ngoài của Rails, Tìm kiếm mô-đun railties. Tới con đường này: /lib/commands/server.rb

Trong tập tin nhận xét này dòng này, Rails.logger.extend (ActiveSupport :: Logger.broadcast (console))

Lệnh này sẽ chuyển sang tắt phát sóng, và chỉ cần khởi động lại máy chủ đường ray của bạn. Bạn sẽ không thấy bất kỳ nhật ký lặp lại nào nữa. Chúc mừng mã hóa.

5

Khi mọi người đến câu hỏi này từ google điều quan trọng là họ disambiguate vấn đề của họ giữa các bản ghi trùng lặp mà trông như thế này:

A 
A 
B 
B 
C 
C 

Từ các bản ghi trùng lặp mà trông như thế này:

A 
B 
C 

A 
B 
C 

Cựu có khả năng trùng lặp LOGGING. Sau này có khả năng từ bản sao YÊU CẦU. Trong trường hợp nó là thứ hai như được hiển thị bởi Người hỏi Câu hỏi (OP), bạn nên xem xét câu trả lời @ www săn bắn xuống một số <img src="#"> hoặc một thẻ url tự tham khảo tương tự. Tôi đã mất nhiều giờ cố gắng tìm ra lý do tại sao ứng dụng của tôi đã xuất hiện để thực hiện hai yêu cầu trùng lặp, và sau khi đọc câu trả lời @ www (hoặc @ aelor về Double console output?), tôi thấy

%link{href: "", rel: "shortcut icon"}/ 

trong mã của tôi! Nó đã gây ra mọi trang của ứng dụng sản xuất của tôi được dựng hình đôi !!!! Vì vậy, xấu cho hiệu suất và rất khó chịu!

+0

nhưng tại sao một 'href' trống lại gây ra các liên kết khác để hiển thị kép? Hay tôi đang thiếu một cái gì đó? –

3

Đây là xảy ra với tôi trong đường ray 4.2.3 sau khi cài đặt Heroku rails_12factor đá quý mà phụ thuộc vào rails_stdout_logging

Các vấn đề liên quan