我想在Ruby on Rails中創建一個臨時的對象數組,因此我可以保存一些數據,然後打印出來。我知道,這聽起來很奇怪,但它在我試圖做的宏偉計劃中是有意義的!是否可以在Ruby on Rails中創建一個對象數組?
這裏是我到目前爲止的代碼:
<% peopleArray = Array.new %>
<% familyArray = Array.new %>
<% friendsArray = Array.new %>
<% @subject.list_people.each do |people| %>
<% people.people_family.each do |family| %>
<% family.find_friends.each do |friends| %>
<% peopleArray << people %>
<% familyArray << family %>
<% friendsArray << friends %>
<% end %>
<% end %>
<% end %>
而是推動這些整個對象爲單獨的陣列,我想從這些三個對象中選擇一個領域,做一個新的對象了這一點,並將其插入到數組中。所以數組中的每個對象都有3個屬性,然後我就可以排序一個。
這是可能的,考慮到Ruby中的所有數組都只是對象的數組,根據我的理解?
我一直在玩這個一會兒,試圖學習ROR,試圖按照我想要的格式按摩數據,而沒有得到任何地方。
每個對象,people
,family
和friends
有一個我想保存的屬性。
假設每個對象都有一個字段「name」,我想將它添加到一個新對象中。我怎樣才能做到這一點?這是一個嘗試用psuedocode來顯示我想實現的。有可能嗎?
myArray = Array.new //create array
<% @subject.list_people.each do |people| %>
<% people.people_family.each do |family| %>
<% family.find_friends.each do |friends| %>
myObj = new Object //create object
<% myObj.name1 = people['name'].first %>
<% myObj.name2 = family['name'].first %>
<% myObj.name3 = friends['name'].first %>
<% myArray << myObj %>
<% end %>
<% end %>
<% end %>
<% myArray.sort(name1) %> //Sort the list based on field name1.
道歉,如果任何這是顯而易見的,我已經做了很多的研究未能取得多大進展,所以我希望這篇文章在這裏允許的。
當然,但是......你需要一個實際的類,或者一個OpenStruct,或者甚至是一個散列。你不能神奇地讓基礎對象類知道你想要什麼。 –