2011-06-01 52 views
6

我正在尋找一個很好的寶石來處理註冊工作流程的「完成百分比」。基本上,我的應用程序允許用戶只註冊一個電子郵件和密碼,然後有一個LinkedIn樣式百分比指標,隨着諸如生日和性別等字段的添加而增加。有沒有好的寶石可以幫助建立這樣的流程?用於導軌中完成配置文件百分比的Gem

謝謝!

+1

究竟爲什麼你的寶石這樣做搜索?這不是你可以直接在應用程序代碼中實現的東西嗎? – plang 2011-06-01 06:01:44

回答

3

我不會使用這個寶石。爲什麼不在用戶配置文件中創建百分比完整的百分比,並使用該百分比來繪製配置文件頁面中完成的百分比。在用戶首次添加屬性後,簡單地將所需的點數添加到比例。你也可以在你的用戶模型中使用一些檢查來確保比例保持在100或低於100,所以你沒有任何奇怪的錯誤。

11

這裏有一個非常簡單的(跛腳)解決方案演示:

在你的模型

,創建帶有字段來完成一個數組,再加上一個整數字段儲存當前狀態,例如:

class User < AR::Base 
    PROFILE_COMPLETENESS = %w[email, website_url, personal-info, etc ] 

    before_update :update_profile_progress, :if => Proc.new {|u| u.progress_status < 100} 

    private 
    def update_profile_progress 
    progress = 0 
    PROFILE_COMPLETENESS.each do |field| 
     progress += 1 unless field.blank? 
    end 
    self.progress_status = (progress/PROFILE_COMPLETENESS * 100).to_i 
    end 
end 

這樣,每次用戶更新它的輪廓,比例進行更新(僅當低於100%)。

也許有是更好的解決方案,這僅僅是一種可能的解決問題的方法;)

+0

如何在rails中查看html.erb – 2014-09-24 07:31:25

+0

@FaiqAdam user.progress_status。順便說一句,3年後,今天我會說我會用一些裝飾/主持人的意見。 – 2014-09-25 09:00:34

+0

謝謝,任何教程都有在線或寶石。 – 2014-09-26 09:31:04