1

我最好建立一个自定义的友谊模型还是应该实施 amistad?如果是 Amisad,是否有任何问题。喜欢不一定有效的功能?

4

2 回答 2

2

这实际上取决于您要实现的功能。

坦率地说,像 Amistad 这样的 Gem 通常不会为您节省太多时间,尤其是在您最终需要扩展 Gem 的情况下。如果是我,我会草拟一份朋友功能的愿望清单,看看 Amistad 是否可以提供一个坚实的基础(例如,为我完成 90% 的工作)。在大多数情况下,您最好推出自己的解决方案。这样一来,您将永远不会受到一开始并没有带来太多好处的宝石的限制。

于 2013-01-22T21:42:16.690 回答
1

我第一次在这里使用 Amistad,我觉得它很可爱,它是如此的小……“不要重新发明轮子”的本能也响起,为什么要从头开始构建它?如果一个家伙以前已经这样做了,我不想检查我的整个实现!:P 它也为贡献等敞开了大门……

因此,我想扩展 Amistad 的功能,更准确地说,是在邀请时创建邮箱通知,我遵循了我在Null Object Pattern 中发现的用于 Rails 关联的一个不错的小模式

基本上:

class Profile < ActiveRecord::Base
  include Amistad::FriendModel

  module AmistadExtension
    def invite(user)
    p "works!"
    super
  end

  include AmistadExtension
end

现在在rails c

> p = Profile.first
> p.invite p # this returns false because it's sending friend request to itself
"works!"
false

不知道这是否可以解决我需要的所有问题,但它节省了我的时间。

于 2013-05-06T14:34:17.290 回答