Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails Rails中配置文件完成百分比的Gem_Ruby On Rails_Ruby_Gem - Fatal编程技术网

Ruby on rails Rails中配置文件完成百分比的Gem

Ruby on rails Rails中配置文件完成百分比的Gem,ruby-on-rails,ruby,gem,Ruby On Rails,Ruby,Gem,我正在寻找一个好的gem来管理注册工作流的“完成百分比”。基本上,我的应用程序只允许用户注册一封电子邮件和密码,然后有一个LinkedIn风格的百分比指示器,随着生日和性别等字段的添加而增加。是否存在一个好的gem来帮助建立这样的流 谢谢 我不会用宝石来做这个。为什么不在用户配置文件中创建一个完成百分比,并用它在配置文件页面中绘制完成百分比的图表呢。用户首次添加属性后,简单地将所需数量的点添加到比例。您还可以在您的用户模型中使用一些检查,以确保比例保持在或低于100,这样您就不会有任何奇怪的错误

我正在寻找一个好的gem来管理注册工作流的“完成百分比”。基本上,我的应用程序只允许用户注册一封电子邮件和密码,然后有一个LinkedIn风格的百分比指示器,随着生日和性别等字段的添加而增加。是否存在一个好的gem来帮助建立这样的流


谢谢

我不会用宝石来做这个。为什么不在用户配置文件中创建一个完成百分比,并用它在配置文件页面中绘制完成百分比的图表呢。用户首次添加属性后,简单地将所需数量的点添加到比例。您还可以在您的用户模型中使用一些检查,以确保比例保持在或低于100,这样您就不会有任何奇怪的错误

我想这就是您想要的

下面是一个非常简单(而且很蹩脚)的解决方案的演示:

在您的模型中,创建一个包含要完成的字段的数组,以及一个存储当前状态的整数字段,例如:

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
class用户Proc.new{u | u | u.progress_status<100}
私有的
def更新_配置文件_进度
进度=0
剖面图|每个do |字段|
进度+=1,除非字段为空?
结束
self.progress\u status=(progress/PROFILE\u completency*100)。to\u i
结束
结束
这样,每次用户更新其配置文件时,百分比都会更新(只有在低于100%时)


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

你为什么要寻找宝石呢?这不是可以直接在应用程序代码中实现的吗?谢谢!正是我要找的!上一次提交是4年前-小心。我如何在rails html中查看。erb@FaiqAdamuser.progress\u状态。顺便说一句,3年后的今天,我想说我会使用一些装饰师/演示者来展示这些视图。