您将如何设计/实施通知模型?

时间:2010-11-16 19:36:47

标签: ruby-on-rails mongodb mongoid

我有一个用户模型。该应用已注册用户和注册艺术家。可以通过角色模型将用户标识为艺术家或注册用户。

在我的帐户页面中,我有一个通知部分。

用户通知与艺术家通知不同。

例如。注册艺术家可以设置以下通知:

  • 当用户喜欢我的绘画时给我发电子邮件
  • 当用户评论我的绘画时给我发电子邮件

注册用户可以设置以下通知:

  • 当我最喜欢的艺术家发布新画作时给我发电子邮件

用户和艺术家都可以设置以下通知:

  • 当有人向我发送私信时给我发电子邮件

你会如何设计呢?

1 个答案:

答案 0 :(得分:0)

角色模型?我不是那么专业的角色,如果我错了就阻止我,但我可能只是将role指定为user模型的属性。然后我会允许所有用户都能够拥有所有通知,并在haml / html中根据他们的角色区分他们看到的内容。

所以你的HAML会说:

- if current_user.role?(artist)
  = f.label 'Email me when a User likes my painting'
  = f.select :notification_option
- if current_user.role?(user)
  = f.label 'Email me when my favorite artists posts new paintings'
  = f.select :notification_option
= f.label 'Email me when someone sends me a private message'
= f.select :notification_option