私はRailsでフライト予約アプリケーションを実行しており、フライトの日付を配列として正常に表示しています。配列の配列で重複を削除する方法Ruby
ただし、重複に問題があります。私はselect_tag(使用してきました:日付、options_for_select(@dates)、動作しますが、私はこれらすべての重複した日数を持って
相続人@datesためのコードを
@dates=Flight.all.map do |a|
dates=[]
unless dates.any? && dates.last[0]==a.flight_date_formatted
dates<<[a.flight_date_formatted, a.id]
end
end
これが返されます。 ["22/5/2016"、1]型の配列の配列。の2番目の要素のために使用することはできません。id
は常に異なっています。
私が試しているコード配列の最後/最初の要素にアクセスし、その[0]要素を取得します。これは "22/5/2016"となり、現在の日付と等しい場合はこの繰り返しをスキップします。私が期待しているとおりに動作していません。
少なくとも7つのフライトと3つの異なる日付があるので、少なくとも1つの異なるキャッチが難しくありません。
重複レコードはどのようにフィルタできますか?
は、非常にエレガントな答えをありがとう。私はコントローラ上でヘルパーメソッドを使用して終了しました。あなたの方法は、私が正しく理解すれば、それの上に私の日付のコードを実行し、固有の日付でフライトを得るだろう。 –
@nathaks私は答えを更新し、既にソートされたデータベースからレコードを取り出すことを含むようにしました。これは実際にメモリ上でこれを行うよりも優れています。あなたのコメントの質問に関しては、これらを一緒に使うことができます。彼らはまた、独立して使用することができます。アプリケーションでどのように動作する必要があるかによって異なります。データベースソリューションは、一度にすべてのソートとフィルタリングを行う必要があります。私は説明を少しはっきりさせるように更新しました。 –