2013-12-20 43 views
1

我初始化數組值不存儲在數組Ruby on Rails的

k = Array.new 

然後 類似

@m = Modul.where(:rfp_id => @rfp.id) 
i = 0 
for ii in @m 
    k = ii.name.to_s 
    i = i + 1 
end 

然後

k.each do |a| 
    ... 
end 

,但其值不被存儲在 「K」我怎樣才能做到這一點?

回答

3

試着寫乾淨的代碼,例如:

Modul.where(:rfp_id => @rfp.id).pluck(:name).each do |name| 
    puts name 
end 
1

將此k = ii.name.to_s更改爲k.push(ii.name.to_s)。它會工作。您沒有在任何地方將項目ii.name.to_s添加到您的陣列kk = ii.name.to_s表示在每次循環迭代中,您將引用一個新的字符串對象到本地變量k。請閱讀Array#push以自我介紹該方法。

不需要寫k = Array.new,而是k = []就足夠你的目的。

+0

確定讓我來試試.. – Anish

+0

空指令現在不工作 – Anish

+0

@Anish測試。我已經編輯 –