sql >> Database teknologi >  >> RDS >> PostgreSQL

Rails 4 / postgresql - indsæt data på en tabel baseret på andre tabeldata (after_create)

Det ser ud til, at du har tastefejl i din kode. Forbindelsen skal være af ActiveRecord::Base.connection men du skrev DealPrize.connection.execute .

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

Prøv at ændre din kode som

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. Hvordan lister jeg alle tabeller i alle databaser i SQL Server i et enkelt resultatsæt?

  2. Liste vs Set på JPA 2 - Fordele / Ulemper / Bekvemmelighed

  3. Taling About SQL Server Performance Flaskehalse

  4. Fjern dubletter fra Count()-resultater i SQLite