Ruby on rails Rails:如何对所选列进行Excel计数?

Ruby on rails Rails:如何对所选列进行Excel计数?,ruby-on-rails,Ruby On Rails,我有一个用户表,我想通过计算包含数据的单元格数量来分析它,比如Excel的COUNTA函数,它统计包含数据的单元格: JOB | ADDRESS | LOOKS | WEALTH Matthew Tax Collector | | 3 | 9 Mark | Galilee | 6 | Social_count统计地址和职务中包含数据的单元格。个性——统计那些在外表、财富等方面有内涵的细胞。在

我有一个用户表,我想通过计算包含数据的单元格数量来分析它,比如Excel的COUNTA函数,它统计包含数据的单元格:

        JOB           | ADDRESS | LOOKS | WEALTH
Matthew Tax Collector |         | 3     | 9
Mark                  | Galilee | 6     | 
Social_count统计地址和职务中包含数据的单元格。个性——统计那些在外表、财富等方面有内涵的细胞。在Rails中有没有更简单的方法?(因为有更多的列)

在Excel中是这样的

COUNTA(B2:C2) # outputs 1 
COUNTA(D2:E2) # outputs 2
我的Rails代码是:

socio_count = 0
if @user.job.present?
  socio_count = socio_count + 1
end

if @user.address.present?
  socio_count = socio_count + 1
end

# more columns here..


@socio_count = socio_count # outputs 1

personality_count = 0
if @user.looks.present?
  personality_count = personality_count + 1
end

if @user.wealth.present?
  personality_count = personality_count + 1
end

# more columns here..

@personality_count = personality_count # outputs 2

使用
.send

%i(job address phone).each do |symbol|
  @user.send(symbol).present? and socio_count += 1
end

那有点干。还可以通过名称访问ActiveRecord列。你应该编辑你的帖子来解释Excel的计数,对于那些不知道的人…

使用
.send

%i(job address phone).each do |symbol|
  @user.send(symbol).present? and socio_count += 1
end
那有点干。还可以通过名称访问ActiveRecord列。你应该编辑你的帖子来解释Excel的COUNTA,对于那些不知道它的人