2


1

Ruby on Rails:異なるタグセットの通知システム

タグ付けシステムを備えたサイトがありますが、ユーザーが選択したさまざまなタグのセットをサブスクライブできるようにして、新しいサブミットが行われ、ユーザーがサブスクライブしているものと一致するタグが通知されるようにします。 たとえば、ユーザーが*大*と見なされる*赤*、*壁紙*のみに関心があるとします。 これらの3つのタグをセットに追加し、それらのタグを含む壁紙が追加されると、ユーザーは通知を受け取ります。 彼らはタグのセットでこれを行うことができる必要があります。 難しい問題のように思えますが、簡単な解決策を思い付くことができません。 誰かがこれが宝石ですでに解決されているかどうかを知っていますか、それを効率的に行う方法についてのアイデアがありますか?

見てくれてありがとう

1 Answer


4


ユーザーモデルをタグ付け可能にすることもできます。

# User model
acts_as_taggable

そして、ユーザーが選択したタグをユーザーオブジェクトに追加します:`@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