Rails,添加触发器以更新多个列

时间:2016-12-21 15:43:39

标签: ruby-on-rails postgresql

Following this guide here,我想添加一个触发器,它可以更新模型的多个属性。这就是我现在所拥有的:

class AddTriggerToArguments < ActiveRecord::Migration[5.0]

  def up
    execute %{

  CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
  ON arguments FOR EACH ROW EXECUTE PROCEDURE
  tsvector_update_trigger(tsv_body, 'pg_catalog.simple', description);
 }
  end

  def down
    execute %{DROP TRIGGER tsvectorupdate ON arguments}

  end
end

正如你在行中看到的那样

tsvector_update_trigger(tsv_body, 'pg_catalog.simple', description);

更新description属性。但我该怎么办,以便更新多个属性?

我的模型将标题和描述作为属性。我想为触发器添加标题。我尝试了这个,但它没有用:

  def up
    execute %{

  CREATE TRIGGER tsvectorupdate BEFORE INSERT OR UPDATE
  ON arguments FOR EACH ROW EXECUTE PROCEDURE
  tsvector_update_trigger(tsv_body, 'pg_catalog.simple', description)
  tsvector_update_trigger(tsv_body, 'pg_catalog.simple', title);
     }
   end

但那并没有奏效。任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

python manage.py test

似乎工作。