2013-01-21 34 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 

不要知道這是否能解決我所需要的一切,但它爲我節省了時間。