0
我目前正在實施Highcharts以在我的RAILS應用程序中創建圖形。我使用懶惰的高圖表寶石,使它更清潔。這工作正常。這些圖表很好。不幸的是,一些東西在gem中不被支持,比如添加像click事件這樣的自定義js事件。我必須在視圖中添加額外的選項代碼。嘗試在RAILS中呈現JS導致問題
您可以查看下面的相關代碼。註釋掉的點擊事件工作正常。該點擊事件將成功引發瀏覽器警報窗口。下面的大塊js文本是我想實現的更高級的點擊事件。不幸的是我得到下面的錯誤。我猜測它是因爲RAILS試圖解析js文本?我無法解決這個問題。
<%= high_chart("my_id", @h) do |c| %>
<%= #"options.series[4].point.events.click = function() {alert ('Category: ');}" %>
<%= render :js => %{
options.series[4].point.events.click =
function() {
hs.htmlExpand(null, {
pageOrigin: {
x: this.pageX,
y: this.pageY
},
headingText: this.series.name,
maincontentText: Highcharts.dateFormat('%A, %b %e, %Y', this.x) + ':<br/> ' + this.y + ' visits',
width: 200
});
}
} %>
<% end %>
錯誤:
/home/scott/flux/app/views/cognos_mn_tickets/pbadata.html.erb:22: syntax error, unexpected ',', expecting ')'
...ext: Highcharts.dateFormat('%A, %b %e, %Y', this.x) +':<br/>...
... ^
/home/scott/flux/app/views/cognos_mn_tickets/pbadata.html.erb:22: unknown type of %string
... Highcharts.dateFormat('%A, %b %e, %Y', this.x) +':<br/> '+t...
...
是的我試過Heredoc無濟於事。我直接CnP'ed你的代碼上面沒有任何效果。完全相同的錯誤。 :( –
請嘗試我更新的代碼,它與lazy_high_charts' README中的示例更接近匹配 –
Hrm。它現在似乎正在通過highcharts js代碼,但是當它在視圖中稍後碰到另一個<%end%>時我抱怨<%>的做法是奇怪的 –