データベースにトリガーを作成して、DB が機能するように挿入しますか?
http://www.postgresql.org/docs/9.1/static/sql-createtrigger.html
CREATE FUNCTION addRaitings() RETURNS TRIGGER AS '
BEGIN
INSERT INTO product_raitings(product_id,rate_type,rate) values(NEW.id,0,0);
INSERT INTO product_raitings(product_id,rate_type,rate) values(NEW.id,1,0);
INSERT INTO product_raitings(product_id,rate_type,rate) values(NEW.id,2,0);
INSERT INTO product_raitings(product_id,rate_type,rate) values(NEW.id,3,0);
END;
' LANGUAGE plpgsql;
CREATE TRIGGER createRaitingTrigger
AFTER INSERT ON products
FOR EACH ROW
EXECUTE PROCEDURE addRaitings();
それともレールに仕事をさせたいですか?次に、after_create
コールバック
http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.htmlになります
おそらくこのようなものです。
class Product < ActiveRecord::Base
has_many product_raitings
after_create :build_default_raitings
private
def build_default_raitings
(0..3).each { |x| self.product_raitings.create(:rate_type => x, :rate => 0) }
end
end