相关疑难解决方法(0)

Rails:如何从列中获取唯一值

如何从表中的列获取唯一值?例如,我有这个Products表:

ID NAME CATEGORY
1 name1 1st_cat
2 name2 2nd_cat
3 name3 1st_cat
Run Code Online (Sandbox Code Playgroud)

在这里,我想只获得2个值 - 1st_cat和2nd_cat:

<%Products.each do |p|%>
<%=p.category%>
<%end%>
Run Code Online (Sandbox Code Playgroud)

ruby-on-rails unique ruby-on-rails-3

63
推荐指数
5
解决办法
7万
查看次数

Ruby-on-Rails:从模型中选择不同的值

文档:http: //guides.rubyonrails.org/active_record_querying.html#selecting-specific-fields

清楚地说明:

query = Client.select(:name).distinct
# => Returns unique names
Run Code Online (Sandbox Code Playgroud)

但是,当我在我的控制器中尝试时,我收到以下错误:

undefined method `distinct' for #<ActiveRecord::Relation:0xb2f6f2cc>
Run Code Online (Sandbox Code Playgroud)

为了清楚起见,我想要不同的名称,如['George','Brandon'],而不是客户的实际记录.有什么东西我错过了吗?

ruby-on-rails rails-activerecord

18
推荐指数
4
解决办法
4万
查看次数

从找到返回独特的年份

可能重复:
Rails:从列中选择唯一值

假设我在过去两年(2011年和2012年)创建了5000条记录.我如何遍历所有这些记录并返回仅有独特年份的数组[2011,2012]?

我正在创建一个报告,其中每年标记的行记录退出,列标记为月.然后td由每年每个月的总计填充.

ruby-on-rails

4
推荐指数
1
解决办法
553
查看次数

Pluck 返回重复的结果

我面临以下问题。正如我们所看到的,我的game对象有两个关联的:players

=> game.players.count
2
Run Code Online (Sandbox Code Playgroud)

但是,该pluck方法返回重复的值:

=> game.players.pluck :name
["Alice", "Alice", "Bob", "Bob"]
Run Code Online (Sandbox Code Playgroud)

两者Game和Player延伸ActiveRecord::Base. 我完全不知道这里到底发生了什么。

相关宝石:

rails 4.2.8
mysql2 0.3.21
Run Code Online (Sandbox Code Playgroud)

关于可能发生的事情有任何线索吗?提前致谢。

ruby activerecord ruby-on-rails mysql2 ruby-on-rails-4

3
推荐指数
1
解决办法
938
查看次数