2012-09-25 31 views
20

Kullanma: Postgresql ile 3.0.3 ve Heroku Rails.PGError: HATA: geçerli işlem iptal edildi

A ActiveRecord::StatementInvalid occurred in home#index: 

    PGError: ERROR: current transaction is aborted, commands ignored until end of transaction block 
: SELECT "calculation_types".* FROM "calculation_types" 
    .bundle/gems/ruby/1.9.1/gems/activerecord-3.0.3/lib/active_record/connection_adapters/abstract_adapter.rb:202:in `rescue in log' 

Uygulamamda althroughout husul ama her zaman bu durumda olduğu gibi gerçekleştirdiğinizde

calculation_type = CalculationType.find(params[:id]) 

veya benzer süper basit, veritabanı-: Böyle bu bir gibi çok sayıda İstisnalar almakta olduğunuz

istekleri.

(ı Heroku yüklerken itibaren) taşlar listem:

Installing rake (0.9.2.2) 
    Installing abstract (1.0.0) 
    Installing activesupport (3.0.3) 
    Installing builder (2.1.2) 
    Installing i18n (0.6.1) 
    Installing activemodel (3.0.3) 
    Installing erubis (2.6.6) 
    Installing rack (1.2.5) 
    Installing rack-mount (0.6.14) 
    Installing rack-test (0.5.7) 
    Installing tzinfo (0.3.33) 
    Installing actionpack (3.0.3) 
    Installing mime-types (1.19) 
    Installing polyglot (0.3.3) 
    Installing treetop (1.4.10) 
    Installing mail (2.2.19) 
    Installing actionmailer (3.0.3) 
    Installing arel (2.0.10) 
    Installing activerecord (3.0.3) 
    Installing activeresource (3.0.3) 
    Installing acts_as_tree_rails3 (0.1.0) 
    Installing breadcrumbs_on_rails (2.2.0) 
    Installing yamler (0.1.0) 
    Installing configatron (2.9.1) 
    Installing daemons (1.1.9) 
    Installing eventmachine (1.0.0) with native extensions 
    Installing exception_notification (2.4.1) 
    Installing friendly_id (4.0.0.beta12) 
    Installing i18n_routing (0.6.1) 
    Installing thor (0.14.6) 
    Installing railties (3.0.3) 
    Installing jquery-rails (1.0.19) 
    Installing pg (0.14.1) with native extensions 
    Installing postgres-pr (0.6.3) 
    Installing rack-rewrite (1.0.2) 
    Installing rack-timeout (0.0.3) 
    Using bundler (1.0.7) 
    Installing rails (3.0.3) 
    Installing thin (1.5.0) with native extensions 
    Installing time_diff (0.2.2) 

Gerçekler

  • hataları aralıklı ve onları yeniden olamaz. Arama motoru botlarının sayfayı

Sorular

Q1 erişmeye çalıştığınızda

  • çoğu zaman gerçekleşmesi gibi görünüyor. Bunu yaparken sorunların nereden başlayacağını bile bilmiyorum (kodumun diğer kısımlarına ihtiyacınız var mı?). İlk adımlarım ne olmalı?

    Q2. Rails 3.0.3 ve Postgresql ile bilinen herhangi bir sorun var mı?

    • Bana sorun çıkarmama yardım etmede başka neye ihtiyacın var?
  • +0

    '' '' 'params '' den önce,' 'hesaplama_type = CalculationType.find (params [: id])' – nmott

    +0

    '' okunmalıdır. Ancak, bu aslında metinde yalnızca bir tür-o'ydu. kopyala ve yapıştır) böylece kodda bulunmuyor. Şimdi sorumu kaldırdım. – Christoffer

    +0

    , ActiveRecord :: Transaction kullanıyorsanız, http://apidock.com/rails/ActiveRecord/Transactions/ClassMethods –

    cevap

    14

    Bu hata hiçbir zaman gerçek sorun değil. Bunun nedeni, bir üst akış hatası nedeniyle başarısız olan bir işlemde bir bildirim göndermenizdir. Bu hataların çoğunu görürseniz, akıştaki ilk hatayı bulmak için günlüğünüze geri dönmek istersiniz ve bu farklı bir hata olur.

    Bunu bulun ve düzeltin. Bu sadece diğer hatalardan sonra işlemlere devam ettiğiniz anlamına gelir. Diğer hatalar sorunların nerede olduğu.

    +10

    Rake db'yi çalıştırmam gerekiyordu: test: sorunumu düzeltmeye hazırlan. Umarım bu birisine yardım eder. –

    +1

    Sebebini biliyorum. Ama nasıl geçmeli? İşlemin durup durmasını nasıl söyleyebilirim? Sebebine ihtiyacım yok. Sadece devletten çıkın. – Green

    0

    CalculationType.all veya CalculationType.first hatalarını olmadan gerçekleştirir misiniz? raylar konsolda

    REINDEX TABLE <table_name> 
    

    ya:: Bu modelden bazı verilere erişebilir Eğer

    ardından sorunu çözmek olabilir tablonuzu yeniden dizin, bu deneyin

    ActiveRecord::Base.connection.execute("reindex table <table_name>") 
    

    Ben benzer bir sorun vardı Bir süre önce umarım yardımcı olur.

    18

    Sadece sunucumu yeniden başlattım. Bu işlem iptal edildi.

    İlgili konular