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