Ruby on Rails: система уведомлений для различных наборов тегов - PullRequest
2 голосов
/ 11 марта 2010

У меня есть сайт с системой тегов, но я бы хотел, чтобы пользователи могли иметь возможность подписываться на различные наборы тегов по своему выбору, чтобы при создании новой публикации и тегах, которые совпадали с тем, на что подписан пользователь получить уведомление. Например, скажем, пользователя интересуют только красные , обои , которые считаются большими . Они добавят эти три тега к набору, и при добавлении обоев, содержащих эти теги, пользователь получит уведомление. Они должны быть в состоянии сделать это с любым набором тегов. Это кажется сложной проблемой, и я не могу придумать простого решения. Кто-нибудь знает, решено ли это где-нибудь в Gem, или есть идеи, как это сделать эффективно?

Спасибо за внимание

1 Ответ

4 голосов
/ 11 марта 2010

Вы также можете сделать помеченной модель пользователя:

# User model
acts_as_taggable

И добавить выбранные пользователем теги к их объекту User: @user.tag ['wallpapers', 'red', 'large'] И тогда в модель, для которой вы хотите уведомления добавить:

after_create :send_notifications

def send_notifications
  @users = User.find_tagged_with :all => self.tag_names
  @users.each do |u|
    something_that_will_send_notification_to_user u
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...