두 가지 모델 A
및 B
을 찾는 검색 기능이 있습니다. 결과는 @a
및 @b
입니다. 모두 manufacturer_id
및 model_id
으로 구성외래 키를 기반으로 두 개의 배열 병합
@a = [
#<A id: 6, manufacturer_id: 1, model_id: 6, front: 30, side: 39, rear: 19, roof: 0, created_at: "2016-12-17 23:34:58", updated_at: "2016-12-17 23:34:58">,
#<A id: 10, manufacturer_id: 1, model_id: 10, front: 30, side: 39, rear: 19, roof: 0, created_at: "2016-12-17 23:34:58", updated_at: "2016-12-17 23:34:58">
]
@b = [
#<B id: 167, manufacturer_id: 1, model_id: 6, FL_1: 30, FL_2: 24, FR_1: 30, FR_2: 24, FC_1: 0, FC_2: 0, RL_1: 22, RL_2: 24, RR_1: 22, RR_2: 24, RC_1: 20, RC_2: 11, third_1: 0, third_2: 0, forth_1: 0, forth_2: 0, boot_1: 0, boot_2: 0, total: 60, created_at: "2016-12-17 23:35:10", updated_at: "2016-12-17 23:35:10">,
#<B id: 175, manufacturer_id: 1, model_id: 10, FL_1: 28, FL_2: 22, FR_1: 28, FR_2: 22, FC_1: 0, FC_2: 0, RL_1: 26, RL_2: 22, RR_1: 26, RR_2: 22, RC_1: 12, RC_2: 18, third_1: 0, third_2: 0, forth_1: 0, forth_2: 0, boot_1: 0, boot_2: 0, total: 44, created_at: "2016-12-17 23:35:10", updated_at: "2016-12-17 23:35:10">
]
나는 manufacturer_id
과 model_id
자신의 기준으로 두 배열을 병합하려합니다. 예상되는 결과는 다음과 같습니다 내보기에
@output = [#<A id: 6, B id: 167, manufacturer_id: 1, model_id: 6>], #<A id: 10, B id: 175, manufacturer_id: 1, model_id: 10>]
내 결과는 여전히 특정 매개 변수를 manufacturer
및 model
모델을 참조하여 획득 할 수 있어야한다.
<% @output.each do |r| %>
<tr>
<td><%= r.manufacturer.name %></td>
<td><%= link_to r.model.name, edit_model_path(r) %></td>
<td colspan=2>
<%= link_to "View", a_path(r), class: "button btn btn-success btn-xs" %>
<%= link_to "Edit", edit_b_path(r), class: "button btn btn-warning btn-xs" %>
</td>
<td colspan=2>
<%= link_to "View", b_path(r), class: "button btn btn-success btn-xs" %>
<%= link_to "Edit", edit_b_path(r), class: "button btn btn-warning btn-xs" %>
</td>
</tr>
<% end %>
은 내가 모두 그들을
id
를 사용하는에 가입 할 수 있음을 발견했다. 그러나 공통/외래 키
id
을 기반으로하는 방법에 대한 단서가 없습니다.
나는이 시도하지만, 일하지 않았다 :
outputs = (@[email protected]).group_by{|h| h[:manufacturer_id]}.map{|k,v| v.reduce(:merge)}
이 나를 인도 해 주시기 바랍니다.
a 및 b에 대한 올바른 예가 있습니까? 출력 결과는 무엇입니까? 루비 배열은'[]'사이에 있습니다. 또한 변수 또는 속성 이름을 사용하지 말고 Ruby 객체 (1, "model_x", ...)를 사용한 구체적인 예 –
@EricDuminil 제안에 따라 실제 예제를 추가했습니다. 내가 사람들이 쉽게 볼 수 있도록 그 방식으로 넣고 싶었던 이유. 감사! –
a는'A' 객체들의 배열이고, b는'B' 객체들의 배열이고, 당신은'manufacturer_id'와'model_id'에 의해 a와 b를 그룹화하기를 원합니까? –