2013-04-30 12 views
0

出於某種原因,當我使用的部分的內容在我的Rails應用程序,我的HTML文檔樹休息和頭部元素溢出主體元素。我煮下來到一個很簡單的例子:使用Rails部分中斷文檔樹?

應用程序/視圖/佈局/ application.html.erb

<!doctype html> 
<html> 
    <head> 
    <%= render :partial => 'shared/head' %> 
    </head> 
    <body id="test-id"> 
    <h1>Hello World</h1> 
    </body> 
</html> 

應用程序/視圖/共享/ head.html.erb

<title>Test Title</title> 

結果

<!DOCTYPE html> 
<html> 
    <head> 
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> 
    </head> 
    <body> 
    <title>Test Title</title> 
    <h1>Hello World</h1> 
    </body> 
</html> 

注意,ID屬性上丟失了,並且元素不是它應該是。

有沒有人見過這樣的事,也可以爲調試提供建議嗎?

我運行:

  • OSX 10.8.3
  • 紅寶石1.9.3-P392
  • 軌3.2.11 /使用WEBrick
  • 施普雷1.1.4(儘管我剝離了Spree可能會影響的任何東西)
+0

你在尋找一個HTML DOM檢查類似Firebug或Chrome的右鍵單擊/檢查元素的功能,或者是你觀看原始來源?那些檢查員試圖爲你做格式化,如果有關於解析的問題,他們可能會搞砸了。如果您查看原始來源(右鍵單擊 - >查看頁面來源),您可以確切地看到瀏覽器看到的內容,並且可能會立即清除問題。 – 2013-04-30 18:43:28

+0

@ScottS,上面的'render'下面是瀏覽器正在獲取的內容。但是,我修改了空格,以便它更清晰。 – Thomas 2013-04-30 18:48:24

+0

嗯。我從來沒有看到過rails解析和改變這種佈局的輸出,但是後來我用了3.2很少。我注意到的一件事是佈局沒有'<%= yield %>'聲明。我不希望這是一個問題,但也許它可能會導致意外的行爲。您可以嘗試刪除嵌入的代碼並輸出直接的HTML,並查看它是如何工作的。 – 2013-04-30 19:03:12

回答

0

原來我的Deface在後臺運行,導致錯誤,這正在損壞我的<head>

如果有人正在運行狂歡,並在Rails的日誌污損錯誤看到他們的模板,先看看奇怪的問題,並檢查您的libxml版本。如果它> 2.8.0,則可能需要降級。更多信息here