私はリストを持っており、それらを分離する必要があります。関係がRailsはその値でハッシュ結合する
Question_set has_many questions
BookVolume has_many questions
Subject has_many book_volumes
Publisher has_many subjects
Section has_many :questions
今、私は唯一のarray
内hash
にquestions
およびそれらの相対的なモデルid
、name
を入れています。
data = []
question_set.questions.each do |q|
data << {publisher: {id: q.publisher.id, name: q.publisher.name}, subject: {id: q.book_volume.subject.id, name: q.book_volume.subject.name}, volume: {id: q.book_volume_id, name: q.book_volume.name}, chapter: [{id: q.section_id, name: q.section.name}]}
end
したがって、data
は、基本的にはしかし
>>data
[
{
:publisher => {
:id => 96,
:name => "P1"
},
:subject => {
:id => 233,
:name => "S1"
},
:volume => {
:id => 1136,
:name => "V1"
},
:chapter => [
{
:id => 16155,
:name => "C1"
}
]
},
{
:publisher => {
:id => 96,
:name => "P1"
},
:subject => {
:id => 233,
:name => "S1"
},
:volume => {
:id => 1136,
:name => "V1"
},
:chapter => [
{
:id => 16158,
:name => "C2"
}
]
}
]
だろう、私は彼らが得た場合chapter
を組み合わせることにしたい同じpublisher
、subject
のでvolume
、この場合には、それは次のようになります
>>data
[
{
:publisher => {
:id => 96,
:name => "P1"
},
:subject => {
:id => 233,
:name => "S1"
},
:volume => {
:id => 1136,
:name => "V1"
},
:chapter => [
{
:id => 16155,
:name => "C2"
},
{
:id => 16158,
:name => "C2"
}
]
}
]
「arrをハッシュの配列(上記の最初の配列)と同じにすると、次のことができます。「arr = data」を意味しますか? –
変数 'data'がその配列を保持している場合、yesです。例を挙げると、各入力オブジェクトに変数を割り当てると便利です(例えば、 'data = [{:publisher => ...]')。そうすれば、読者は、コメントと回答の変数(ここでは単に「データ」)を定義することなく参照することができます。それを行うためにあなたの質問を編集するかもしれません。 –
私は変数名 'data = []'を定義し、それに私の質問で 'hash'を入れました。これはどういう意味ですか? –