我最近試圖對我的視圖進行更新,並將本來代表星號的香草星號「*」字符替換爲unicode黑色星號「 ★「(U + 2605,」&#x2605「;」&#9733「; 0xE2 0x98 0x85(e29885))。當我在適當的視圖中將字符添加到字符串中時,一切似乎都很好。其中一種觀點如下所示。Rails視圖中的Unicde角色導致gem rack-google-analytics失敗
_recent_updates.html.haml
%table.tablesorter#home
%thead
%tr#header
%th#year Year
%th#name Player Name
%th#position Position
%th#school School
%th#stars Stars
%tbody
- @recent_commits.each do |rc|
%tr{:class => cycle("odd", "even")}
%td#class= rc.player.year
%td#name= link_to display_name(rc.player), player_path(rc.player.slug)
%td#position= Position.find(rc.player.position_id).abbr if rc.player.position_id
%td#school= link_to rc.school.name, school_path(rc.school.slug)
%td#stars= "#{display_star(rc.player.vc_star_rating)}★"
我發佈了更新,並與我的業務一起去了。幾天後,我查看了谷歌分析,看看網站流量如何,我注意到急劇下降到接近零。我做了一些檢查,因爲我知道在這段時間內網站有大量流量,並且意識到我的谷歌分析代碼有問題。當我查看生產頁面的源代碼時,這裏是我所看到的。
<--! ...My Page Contents -->
<script type="text/javascript">
if (typeof gaJsHost == 'undefined') {
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXXX-1");
pageTracker._trackPageview();
} catch(err) {}</scr
看來,由Unicode字符消耗額外的字節下落不明,使他們有效地吃了我的頁面的底部,導致其突然終止。我應該看到的是,腳本標記應該已經結束,以及body和html標記的結束。
<--! ... My Page Contents -->
<script type="text/javascript">
if (typeof gaJsHost == 'undefined') {
var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
}
</script>
<script type="text/javascript">
try {
var pageTracker = _gat._getTracker("UA-XXXXXXXX-1");
pageTracker._trackPageview();
} catch(err) {}</script>
</body>
</html>
我恢復從混帳以前的更改(更換星星星號是在提交討論的唯一的變化),而我的谷歌Analytics跟蹤代碼再正常工作,我的劇本,身體和HTML標籤都有其正確的結束標籤。
我的問題是兩倍。
- 如何將明星角色添加到我的視圖中而不會消耗我的代碼的末尾?
- 我以爲UTF-8是在Rails 3.1中開箱即用的,所以爲什麼會這樣呢?
不幸的是,這些沒有一個幫助。 – 2012-03-31 18:18:46