2011-02-25 48 views
0

在我的RoR應用程序中,我有一個rjs文件,它填充了一個字段,其ID爲"submission_references",在我的主窗體中找到。ruby​​ on rails - 通過rjs中的dbase記錄循環

RJS代碼:

page[:submission_references].value = @references.each do |reference| 
             reference.NAME 
             end 

的問題是,不是顯示檢索數據庫值,下面是正顯示在'submission_references'領域:

[object Object],[object Object] 

但是如果我把像@references[0].NAME ,第一個檢索到的記錄的名稱顯示在該字段中。

請有人可以爲我闡明這一點。

許多非常感謝您的寶貴幫助

+0

可以嘗試「在@references參考」的循環方式,讓我知道,如果它的工作 – gkaykck 2011-02-25 14:04:48

+0

:)謝謝你的建議,我想:(@ references.map {|引用| reference.NAME})。加入(「,」),它似乎工作正常。 – Kim 2011-02-25 14:20:19

回答

2

嘗試:

page[:submission_references].value = 
    (@references.map {|reference| reference.NAME}).join(", ") 

一點解釋:在你的代碼中已經分配給valueeach環,它返回對象的原始數組(的結果而不是評估塊內)。這就是爲什麼你得到那個[object Object],[object Object]字符串。在另一側上map迭代的集合,並且其評估爲集合中的每目標塊。評估值然後以數組而不是原始對象的形式返回。由於NAME是一個字符串,可以使用join(", ")到陣列中的每個元素加入到了「」串concacted一個字符串。

+0

OMG,謝謝sooo klew:)...我的代碼現在工作得很好。乾杯! – Kim 2011-02-25 14:06:10