2013-01-21 33 views

回答

2

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

坦率地说,像Amistad这样的宝石通常不会节省您很多时间,特别是如果您最终需要扩展Gem。如果我是这样的话,我会画一张朋友特写的愿望清单,看看Amistad是否可以提供一个坚实的基础(比如,为我完成90%的工作)。在大多数情况下,你可能会更好地使用自己的解决方案。这样,你永远不会受到一个宝石的限制,而宝石首先不会带来太多的东西。

1

我在这里第一次使用Amistad,我认为它很甜,它非常小......“不重新塑造轮子”本能环,为什么要从头开始构建它?如果一个老兄已经做到了这一点,我不想检查我的整个实施! :P它也离开了门的开放贡献等...

所以,我达到了我想扩展Amistad功能,更确切地说,邀请时创建邮箱通知,我跟着我发现一个很好的小模式在Null Object Pattern for associations in 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 

不要知道这是否能解决我所需要的一切,但它为我节省了时间。