Mysql Ruby Rails,获取索引erb页面中db中列的重复计数

Mysql Ruby Rails,获取索引erb页面中db中列的重复计数,mysql,ruby-on-rails,ruby,ruby-on-rails-3,duplicates,Mysql,Ruby On Rails,Ruby,Ruby On Rails 3,Duplicates,我在ruby rails中有一个小应用程序。 我是这门语言的新手,我想在我的数据库(mysql)中找到表中特定列中的重复记录 <th>Count Activation</th> <td align="center" width="4%"><%= Database.select(:license_code).count %></td> 计数激活 我把它放进去,这会得到列license_code,并计算在我的应用程序中出现许

我在ruby rails中有一个小应用程序。 我是这门语言的新手,我想在我的数据库(mysql)中找到表中特定列中的重复记录

      <th>Count Activation</th>
<td align="center" width="4%"><%= Database.select(:license_code).count %></td>
计数激活
我把它放进去,这会得到列license_code,并计算在我的应用程序中出现许可证代码记录的次数

我需要找到许可证代码的重复值,以及找到的每个值的重复计数,并将其放入我的erb页面的“计数激活”列中(只是一个显示数据库的页面:

<table width="120%" align="center" border="2" class="display" id="mytable" style="margin:3px">

<thead>
    <tr>
      <th>Negozio</th>
      <th>Cliente</th>
      <th>Azienda</th>
      <th>Referente</th>
      <th>Cellulare</th>
      <th>Email</th>
      <th>Antivirus</th>
      <th>Attivazione Effettiva</th>
      <th>Attivazione al cliente</th>
      <th>Scadenza Reale</th>
      <th>License code</th>
      <th>Licenza valida per n. pc</th>
      <th>Licenza attivata su n. pc</th>
      <th>Prezzo</th>
      <th>Opzioni</th>
      <th>Count Attivazioni</th>
    </tr>
  </thead>

  <tbody>
    <% @databases.each do |database| %>
      <tr>
        <td align="center" width="15%"><%= database.shop %></td>
<td align="center" width="5%"><%= database.customer %></td>
<td align="center" width="6%"><%= database.company %></td>
<td align="center" width="7%"><%= database.referer %></td>
<td align="center" width="10%"><%= database.phone %></td>
<td align="center" width="10%"><%= database.email %></td>
<td align="center" width="4%"><%= database.antivirus %></td>
<td align="center" width="7%"><%= database.activated_at %></td>
<td align="center" width="7%"><%= database.customer_activated_at %></td>
<td align="center" width="6%"><%= database.license_expires_at %></td>
<td align="center" width="16%"><%= database.license_code %></td>
<td align="center" width="4%"><%= database.license_activable_for_pc %></td>
<td align="center" width="4%"><%= database.license_activated_in %></td>
<td align="center" width="4%"><%= database.price %></td>
<td align="center" width="10%"><%= link_to 'Show', database %> | <%= link_to 'Edit', edit_database_path(database) %> |
  <%= link_to 'Destroy', database, method: :delete, data: { confirm: 'Are you sure?' } %></td>

<td align="center" width="4%"><%= Database.select(:license_code).count %></td>
      </tr>
    <% end %>

内戈齐奥
客户
阿齐恩达
参照物
蜂窝织品
电子邮件
防病毒
阿提瓦齐翁
阿提瓦锡安客户酒店
斯加登扎雷亚尔酒店
许可证代码
每件n.件许可证
阿提瓦塔苏n.个人电脑许可证
普雷佐
选择性服务
阿提瓦齐奥尼伯爵
|  |
有人能帮我吗?:)
ty

许可证计数的重复值

class Database < ActiveRecord::Base
   scope :duplicate_databases, -> {select(:license_code).group(:license_code).having("count(*) > 1")}
end
鉴于

 <td> count activation:  <%= @duplicate_records.count %>  </td>
计数激活:

既然你是新来的,让我为你详细介绍一些想法

--

语言

你必须明白“Rails”不是一种语言——它是一种框架。 Ruby是一种语言,事实上

这意味着,当您询问有关系统的问题时,您需要了解Rails只是使用一系列组件(如
ActiveRecord
等)来创建一个无缝且令人惊叹的框架供您使用

这样,您将需要考虑Rails,这意味着您应该在控制器中保留任何数据配置逻辑。您的模型应该在那里构建您需要的数据,并且您的视图应该只显示您需要的数据

--

修复

我会这样做:

#app/views/controller/index.html.erb
<th>Count Activation</th>
<td align="center" width="4%"><%= @duplicate_count %></td>

#app/controllers/controller.rb
class Controller < ApplicationController
   def index
      @duplicate_count = Database.duplicate_codes
   end
end

#app/models/database.rb
class Database < ActiveRecord::Base
   scope :duplicate_codes, -> { select("license_code, count(license_code) as quantity").group(:license_code).having("quantity > 1") }
end
#app/views/controller/index.html.erb
计数激活
#app/controllers/controller.rb
类控制器<应用程序控制器
def索引
@重复\u计数=数据库。重复\u代码
结束
结束
#app/models/database.rb
类数据库{选择(“许可证\u代码,计数(许可证\u代码)为数量”)。组(:许可证\u代码)。具有(“数量>1”)}
结束

我通过以下提示找到了解决方案:

在模型中

def dup_count
  Database.where(license_code: self.license_code).count
end
在我的索引中

<td align="center"><%= database.dup_count %></td>


谢谢;)

我必须放入erb中的变量?>:嗨,里奇,真的很感谢你这么好:)我试着按照你的吩咐去做,但我犯了一些错误。我可以私下向你展示我的项目吗(如果可能的话),这样你就可以理解我的意思了?对我来说,理解这是如何工作的是非常重要的。。非常感谢你的建议。我现在的索引是:like
<td align="center"><%= database.dup_count %></td>