Обновлять атрибут модели Post тегами каждый раз, когда они создаются или сохраняются? - PullRequest
1 голос
/ 02 марта 2012

У меня Пост Модель:

class Post < ActiveRecord::Base
  attr_accessible :title, :content, :tag_list 

  has_and_belongs_to_many :tags
end

и тег модель:

class Tag < ActiveRecord::Base
  attr_accessible :name

  has_and_belongs_to_many :posts
  end
end

Как вы можете видеть, они has_and belongs_to_many связаны друг с другом, и я также создал объединенную таблицу:

create_table :posts_tags, :id => false do | t |
  t.integer :post_id, :tag_id
end

Я хочу сделать следующее:

Каждый раз, когда тег (ы) сообщения создаются или сохраняются, атрибут tag_list сообщения, которому принадлежат теги, должен обновляться тегами.

Какие-либо предложения для достижения этой цели?

1 Ответ

1 голос
/ 02 марта 2012

Я предлагаю добавить after_save обратный вызов для модели Tag.

after_save :update_tag_list_on_posts

private
  def update_tag_list_on_posts
    posts.update_all(:tag_list => desired_tag_list_value)   
  end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...