Il semble que vous ayez une faute de frappe dans votre code. La connexion doit être ActiveRecord::Base.connection
mais vous avez écrit DealPrize.connection.execute
.
connection = ActiveRecord::Base.connection
connection.execute "sql query"
Essayez de changer votre code comme
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