我正在嘗試在Morris.js中創建一個簡單的條形圖,它將顯示一個人的工作量,並與他們的名字配對。 (名稱,工作量)|鍵,值|爲什麼在我的charts.js.erb文件中顯示爲'(HTML Entity?)?
爲此,我創建了用戶名和他們的工作量@workloads的散列。然後,在我的charts.js.erb文件中:
$(document).ready(function() {
Morris.Bar({
element: 'workload-bar-chart',
data: [
<% @workloads.each do |key, value| %>
<%= "{ y: '#{key}', a: #{value} }," %>
<% end %>
],
xkey: 'y',
ykeys: ['a'],
labels: ['Name'],
hideHover: 'auto',
resize: true
});
});
這是在瀏覽器中呈現的輸出。 (Safari瀏覽器,如果你問。)
$(document).ready(function() {
Morris.Bar({
element: 'workload-bar-chart',
data: [
{ y: 'Ronny', a: 0 },
{ y: 'Jeff', a: 24 },
{ y: 'Brad', a: 41 },
{ y: 'Janice', a: 2 },
{ y: 'Jose', a: 4 },
],
xkey: 'y',
ykeys: ['a'],
labels: ['Name'],
hideHover: 'auto',
resize: true
});
});
現在,這並不在所有的Morris.js工作。我想獲得的輸出是這樣的:
$(document).ready(function() {
Morris.Bar({
element: 'workload-bar-chart',
data: [
{ y: 'Ronny', a: 0 },
{ y: 'Jeff', a: 24 },
{ y: 'Brad', a: 41 },
{ y: 'Janice', a: 2 },
{ y: 'Jose', a: 4 },
],
xkey: 'y',
ykeys: ['a'],
labels: ['Name'],
hideHover: 'auto',
resize: true
});
});
當我在手工編碼本,它完美的作品,我覺得沒有什麼是錯的哈希本身。 (它在視圖中打印得很好。)我只需要阻止我的'
轉換爲'
,我相信這意味着我需要以某種方式逃避它。我認爲它會將我的'
轉換爲HTML實體(十進制)。
僅供參考,我對JavaScript幾乎一無所知,而且我只用Ruby on Rails編寫了一年多的代碼。
在一個側面說明,通過ERB傾銷數據到JavaScript是抗圖案。通常用Ajax加載它通常會更好。 – max 2014-09-26 20:46:58