在Rails中完成配置文件百分比的宝石

Stu*_*ssa 7 ruby gem ruby-on-rails

我正在寻找一个好的宝石来处理注册工作流程的"完成百分比".基本上,我的应用程序允许用户只注册一个电子邮件和密码,然后有一个LinkedIn样式百分比指标随着生日和性别等字段的增加而增加.是否存在帮助设置这样的流程的好宝石?

谢谢!

And*_*oni 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
Run Code Online (Sandbox Code Playgroud)

这样,每次用户更新其配置文件时,百分比都会更新(仅当低于100%时).

也许有更好的解决方案,这只是解决问题的可能方法;)


rub*_*ish 5

我想完整性就是你要找的东西