愚かな質問ですが、私はこれに答えを見つけることができず、私自身が解決しようとした試みはこれまでに果実を生み出していません。Ruby on Railsの日付でソートする?
ここにコードがあります。私は配列を作成します。次に、ループで複数のオブジェクトを作成し、配列に挿入します。次に、属性 'date'に基づいてソートを試みます。それから私はテストするために印刷します。それはすべて動作しますが、並べ替えのため:
<% @subject.list_people.each do |people| %>
<% people.people_family.each do |family| %>
<% family.find_friends.each do |friends| %>
myObj = {}
<% myObj['name1'] = people['name'].first %>
<% myObj['name2'] = family['name'].first %>
<% myObj['date'] = friends['date'].first %>
<% myArray << myObj %>
<% end %>
<% end %>
<% end %>
<% myArray = myArray.sort_by! { |obj| obj['date'] } %> //Sort the list based on field date
<% myArray.each do |myObj| %>
<i><%= myObj['date'] %></i>
<% end %>
私は最も新しいものが最初に印刷されるようにしたいと思います。しかし、私が変更したものは、自分のデータが印刷される順序を編集しません。この日付欄ではどのように注文できますか?
通常、Rubyの機能に!最後に、結果を変数に適用したいのではなく、結果を返すことを意味します。 "myArray ="部分は省略できます。また、この種の機能は一般に、ビューに実装したいものではありません(ただし、生成されるフォーマットはビュー固有のものです)。これをSubjectクラスの関数にして、結果の配列を返すことをお勧めします。 – ollpu