2012-01-13 50 views
0

我有10個實例變量,名爲@ foo_01,@ foo_02,@ foo_03,.. @ foo_10,我需要在頁面上顯示每個變量的結果集,這些結果必須顯示在正確的順序與一個相當長的算法,我寧願不復制和粘貼10次更改變量的名稱,因爲我覺得這非常惱人,所以我正在尋找一種方法來循環遍歷算法10次並動態地訪問變量,有點像這樣...
在RoR3的視圖中動態訪問變量

<% (1..10).each do |i| %> 
    <% lengthy algorithm here %> 
    <%= @foo_i .atribute.value %> 
    <% end %> 
<% end %> 

回答

0

不能@foo是你的十個元素的數組?然後你可以用@foo.each來迭代它。

+0

每個@foo變量具有不相交的數據庫結果集,因此出於邏輯目的,我寧願將它們保存在單獨的變量中。 – josethernandezc 2012-01-13 15:44:06

+0

沒有什麼東西禁止你將它們分開,並且說數組(也就是說你可以有每個'@ foo_n'和'@ foos','@ foo_array',或者任何你想要的)。這是我想到的唯一的漂亮解決方案。 – ksol 2012-01-13 15:48:29

+0

你的權利,不幸的是,我必須完全按照原樣使用算法(我正在開展一個協作項目,我必須重用一個函數),並且使用數組意味着我必須開發額外的邏輯來確定每個變量來自哪個變量然後我將它們顯示在頁面上。 – josethernandezc 2012-01-13 16:10:34