PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Rails 4 / postgresql - wstawiaj dane do tabeli na podstawie danych z innej tabeli (after_create)

Wygląda na to, że masz literówkę w kodzie. Połączenie powinno być typu ActiveRecord::Base.connection ale napisałeś DealPrize.connection.execute .

connection = ActiveRecord::Base.connection
connection.execute "sql query"

Spróbuj zmienić kod, np.

after_create :create_deal_prizes

def create_deal_prizes
  Deal.transaction do
    connection = ActiveRecord::Base.connection
    self.prizes_number.times do |i|
      connection.execute "INSERT INTO ‘deal_prizes’ (deal_id) values (self.deal.id)"
    end
  end
end


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak zredukować wiersze wynikowe zapytania SQL w pełnym zakresie?

  2. Żaden operator nie pasuje do podanej nazwy i typu argumentów. Może być konieczne dodanie jawnych rzutowań typu. -- Netbeans, Postgresql 8.4 i Glassfish

  3. UTWÓRZ ROZSZERZENIE postgis nie powiedzie się,

  4. Wybierz losowy wiersz dla każdej grupy

  5. Powrót XFS na Linuksie