Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 连接两个活动记录对象的ruby on rails_Ruby On Rails_Ruby - Fatal编程技术网

Ruby on rails 连接两个活动记录对象的ruby on rails

Ruby on rails 连接两个活动记录对象的ruby on rails,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有两个复杂的rails(AR)查询,它们来自两个不同的方法,有时我希望将它们连接起来。每个对象中返回的数据结构都是相同的,我只想将一个对象附加到另一个对象上 下面是一个简化的示例(不是我的实际代码): 我认为这样做会奏效: @peeps = @peep1 << @peep2 以上只是一个简化的例子——在我的情况下,加入查询等将不起作用 编辑: 也许串联是个错误的术语 以下是我想要的输出: 说@peep1有: 名字:鲍勃 姓:史密斯 而@peep2有: 名字:乔 姓氏:约翰逊 我

我有两个复杂的rails(AR)查询,它们来自两个不同的方法,有时我希望将它们连接起来。每个对象中返回的数据结构都是相同的,我只想将一个对象附加到另一个对象上

下面是一个简化的示例(不是我的实际代码):

我认为这样做会奏效:

 @peeps = @peep1 << @peep2
以上只是一个简化的例子——在我的情况下,加入查询等将不起作用

编辑: 也许串联是个错误的术语

以下是我想要的输出:

说@peep1有:
名字:鲍勃
姓:史密斯

而@peep2有:
名字:乔
姓氏:约翰逊

我想把这些结合成第三个物体。因此,如果我遍历@peeps,它将包含来自前面两个对象的数据:

@peeps有:
名字:鲍勃
姓氏:史密斯
名字:乔
姓氏:约翰逊


谢谢

坦率地说,你所描述的一切都毫无意义:)

@peep1
@peep2
分别表示一个对象--数据库中的一行

没有意义将它们有意义地结合在一起

您可以将这两个元素组合成一个数组

@all_peeps = [@peep1, @peep2]
然后再重复一遍

@all_peeps.each do |peep|
  print peep.first_name
end

坦率地说,你所描述的一切都毫无意义:)

@peep1
@peep2
分别表示一个对象--数据库中的一行

没有意义将它们有意义地结合在一起

您可以将这两个元素组合成一个数组

@all_peeps = [@peep1, @peep2]
然后再重复一遍

@all_peeps.each do |peep|
  print peep.first_name
end
这对我很有用:

> @loop_feed = @job.bids.all
> @bidadd = [] 
> @loop_feed.each do |loop_feed|   
> compare_id = loop_feed.user_id
>     @user_search.each do |user|
>       if compare_id == user.id 
>         @bidadd = [@bidadd, loop_feed].flatten
>       end
>     end 
> end
这对我很有用:

> @loop_feed = @job.bids.all
> @bidadd = [] 
> @loop_feed.each do |loop_feed|   
> compare_id = loop_feed.user_id
>     @user_search.each do |user|
>       if compare_id == user.id 
>         @bidadd = [@bidadd, loop_feed].flatten
>       end
>     end 
> end

请提供一个更详细的例子,因为我不明白你所说的连接对象是什么意思。我知道它对字符串意味着什么:
“a”+“b”
=>
“ab”
,但生成的对象(人)应该是什么样子?编辑在上面。可能连接是错误的术语。请提供一个更详细的示例,因为我不明白连接对象是什么意思。我知道它对字符串意味着什么:
“a”+“b”
=>
“ab”
,但生成的对象(人)应该是什么样子?编辑在上面。也许串联是个错误的术语。“你所描述的一切都没有任何意义”-我猜你读到了我的心思:)。谢谢“你所描述的一切都没有任何意义”——我猜你读到了我的心思:)。谢谢