2013-03-19 25 views
2

我有紅寶石的哈希持有我想輸入一個JavaScript函數如何使用紅寶石哈希作爲一個選項javascript函數

我的哈希值是(因爲它在IRB打印)選項

@options = [{:source=>"2", :tries=>"3"}] 

我的javascript函數接受像

myFunc({source: num, tries: num}) 

因此,如果某個js.erb文件我做

選項

這將導致

{:source=>\"2\", :tries=>\"3\"} 

j @edges.to_json導致

\"{:source=>\\\"2\\\", :target=>\\\"3\\\"} }\" 

\"{:source=>\\\"2\\\", :target=>\\\"3\\\"}\" 

j @edges.to_json.html_safe結果有沒有辦法讓它輸出更多的JavaScript友好的哈希?

+2

試@options [0] .to_json – 2013-03-19 15:32:17

+2

的內容正在被scaped,嘗試'@ options.to_json.html_safe' – nicooga 2013-03-19 15:34:39

回答

0

您可以使用gsub刪除那些不需要的字符:

@options[0].to_json.gsub(/\"/,'') 
# => "{source:2,tries:3}" 
4

不使用j。嘗試

myFunc(<%= @options.to_json %>)