首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Rails:组合实例变量,以显示具有不同值的唯一记录

Rails:组合实例变量,以显示具有不同值的唯一记录
EN

Stack Overflow用户
提问于 2014-04-08 18:02:35
回答 1查看 705关注 0票数 0

我正在组合两个实例变量,但它显示两个相同的值,因为有时我的每个实例变量都有相同的记录。我如何只显示不同的?

代码语言:javascript
复制
  @var1 = Image.tagged_with(params[:tags])
  @var2 = Image.psql_search(params[:tags])

  @Combined = @var1 + @var2

@var1来自acts-as-taggable gem,@var2来自PostgreSQL全文。

EN

回答 1

Stack Overflow用户

发布于 2014-04-08 19:13:24

获取对象的唯一in,并将它们映射到一个新数组(例如,使用OpenStruct代替ActiveRecord对象):

代码语言:javascript
复制
@combined = [OpenStruct.new(:id => 1), OpenStruct.new(:id => 1), OpenStruct.new(:id => 2)]
#=> [#<OpenStruct id=1>, #<OpenStruct id=1>, #<OpenStruct id=2>]
@combined.map(&:id).uniq.map {|x| @combined.find {|y| y.id == x}}
#=> [#<OpenStruct id=1>, #<OpenStruct id=2>]
  • http://www.ruby-doc.org/core-1.9.3/Enumerable.html#method-i-find
  • http://www.ruby-doc.org/core-1.9.3/Array.html#method-i-uniq
  • http://www.ruby-doc.org/stdlib-1.9.3/libdoc/ostruct/rdoc/OpenStruct.html#method-c-new

此解决方案不处理原始数据库查询,只解决表示问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22944811

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档