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%时).
也许有更好的解决方案,这只是解决问题的可能方法;)
| 归档时间: |
|
| 查看次数: |
2159 次 |
| 最近记录: |