配列を作成した方法は次のとおりです。
@companies_with_email = Company.contact_emails_date_sent_gt(@monday).
contact_emails_date_sent_lt(@friday).
find(:all, :select => "distinct companies.* ") || []
@companies_with_call = Company.contact_calls_date_sent_gt(@monday).
contact_calls_date_sent_lt(@friday).
find(:all, :select => "distinct companies.* ") || []
@companies_with_activity = @companies_with_email + @companies_with_call
@companies_with_activity.uniq!
ただし、アルファベット順にしたいので、.sortを追加してみました! <=>メソッドが存在しないというエラーが発生しました。
undefined method `<=>" for #<Company:0x9d506a8>
回答:
回答№1は4会社の並べ替えは「うまくいく」わけではありません。そのエラーメッセージが意味するのは、単に比較する方法がないということです(比較演算子を使用してください)。 <=>
、この場合)2つの会社、何を比較するかわからないため、データベース内のID、名前、Rubyメモリ内のIDなど。
ただし、ソート動作は自分で定義できます。
@companies_with_activity.sort! { |a,b| a.name <=> b.name }