导轨的模型完整性4

时间:2014-03-10 10:21:45

标签: model ruby-on-rails-4 rubygems

我是RoR的新手,使用Rails 4.0,我需要计算模型实例的完整程度。 我有一个带有{first_name,last_name,email,description,location}的用户模型。如果您对类似宝石有任何建议(比如completeness-fu)或任何其他方法,那将非常有帮助。

1 个答案:

答案 0 :(得分:0)

几天前我也遇到了同样的问题。我没有任何宝石就解决了这个问题。我在linkedin上写了一篇有关该解决方案的文章。您可以检查以下链接:https://www.linkedin.com/pulse/calculating-completeness-attributes-rails-models-ravi-kashyap/

或者您可以在用户模型中简单地做到这一点:

def self.total_columns
  column_names.count 
end

def self.all_columns
  column_names 
end

def filled_columns
  counter = 0
  self.class.all_columns.each do |column|
    if self.attributes[column].present?
      counter += 1 
    end
  end
  counter
end

def completeness
  "#{(self.filled_columns * 100) / self.class.total_columns} %"
end

希望这对您有所帮助,但我也建议您通过此链接,因为我在那儿提到了如何重用代码。 谢谢