2012-04-14 80 views
1

在我的控制器中,我從表中獲取一些記錄。我正在嘗試將記錄記錄發送給Js並顯示在我的頁面中。在ruby中處理正則表達式

@item_list = TransferDetail.find(:all) - Code to get data from table 

@item_list的輸出作爲

[{:source_id=>8, :object=>"11375810_0", :prefix=>"a",:unit=>"0", :description=>"xxxxx"}, {:source_id=>8, :object=>"11375810_1", :prefix=>"b", :unit=>"0", :description=>"yyyyy"}] 

發送記錄來JS側

WebView.execute_js("replaceItemList('#{@item_list}')") 

在JS中側

function replaceItemList(item_list){ 
    alert (item_list); 
} 

警報結果作爲這樣

[{:source_id=>8, :object=>"11375810_0", :prefix=>"a",:unit=>"0", :description=>"xxxxx"}, {:source_id=>8, :object=>"11375810_1", :prefix=>"b", :unit=>"0", :description=>"yyyyy"}] 

任何人都可以建議我如何顯示在我的視圖頁面。

我知道如何解析並顯示在視圖頁面中。

"{\"transferType\":\"D\", \"accountNumber\":\"132\", \"employeeId\":\"23\", \"orderedByPhone\":\"2423453453\", \"deliveryInstructions\":\"fdgfghvbn\"}" 

可能我@item_list值轉換爲或讓我知道其他一些建議

+0

我根本不理解問題標題。無論如何,發送JSON而不是一個對象數組的字符串表示形式會更有意義嗎? – 2012-04-14 20:12:12

+0

嘗試使用to_json'WebView.execute_js(「replaceItemList('#{@ item_list.to_json}')」)' – 2012-04-14 20:26:31

+0

@Joshua:如果在任何字段中有單引號,則會失敗,所以'.gsub('' 「,」\\'「)'也是必須的。 – 2012-04-14 22:59:02

回答

0

我的要求是發送表(數據庫記錄),以前端和展現。 所以我也喜歡下面 DEF轉移
@item_list = TransferDetail.find(:所有) preferred_accessories_content = get_preferred_accessories_content WebView.execute_js( 「replaceItemDetails( '#{preferred_accessories_content}')」) 端

def get_preferred_accessories_content 
    preferred_accessories_content = "" 
    @item_list.each do |pa| 
     preferred_accessories_content+= "<tr>" + "<td> #{pa.description} </td>"+"</tr>" 
    end 
    preferred_accessories_content 
end 

這裏「preferred_accessories_content」的結果是普通的html表格行,所以我可以通過JS將這一行附加到我的視圖頁面。