は、私は2つのActiveRecordのモデルを持っています。連合ルビー
m1s = M1.where(...)
m2s = M2.where(...)
今、私は彼らの組合への一つの方法または別のをしたい: 私は2つのクエリを作成しました。
だから私はそれ簡単なん:
m_all=m1s + m2s
だから私は、オブジェクトの配列ました:
[#<M1:0x007fffdcc14100
date: Fri, 15 Sep 2017,
name: "name1",
info: "blablablabla">,
#<M2:0x007fffdd492e08
date: Fri, 15 Sep 2017,
name: "name2",
info: "blabla"> ...
]
をどこ (date, name)
今、この配列から、私は、オブジェクトを選択する必要がある - の組み合わせの日付と名前のプロパティは一意です。
date="11.04.15" name="xxx" info =""
date="11.04.15" name="yyy" info =""
date="11.04.15" name="yyy" info = ""
それはので、それらの最初の2つだけを選択する必要があります。言い換えれば、私は3つのレコードを持っている場合たとえば、date
同じとname
同じを持って繰り返しオブジェクトを、必要はありません。 2番目と3番目の日付と名前は同じです。
どうすればいいですか? 私はこのようにそれを行うにはなく、うまくいきませんでした試みた:
m_all= m_all.uniq do |m|
[m[:date], m[:name]]
end
年月日にのみマッチにこれを試してみてください。どのようなエラーや結果がありましたか? – SteveTurczyn
@ user2950593あなたの目標を正しく理解していれば、m_all = m_all.uniqを置くだけでいいですか? –
@SteveTurczyn結果は、同じ数の要素で前と後の配列が同じになります – user2950593