0
Rails 앱에서 부분적으로 콘텐츠를 사용할 때 HTML 문서 트리가 손상되고 head 요소가 body 요소 위로 넘쳐납니다.레일스 부분 분할 문서 트리 사용?
응용 프로그램/뷰/레이아웃/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가 영향을 줄 수있는 모든 것을 제거했습니다.)
Firebug와 같은 HTML DOM 검사기를 보거나 Chrome에서 요소를 마우스 오른쪽 버튼으로 클릭/검사하거나 원시 소스를보고 있습니까? 그 검사원은 당신을 위해 포맷을 시도하고, 파싱에 대해 무언가가 있다면 그것을 망칠 수 있습니다. 원시 소스 (오른쪽 클릭 ->보기 페이지 소스)를 보면 브라우저가 보는 것을 정확히 볼 수 있으며, 이는 문제를 즉시 해결할 수 있습니다. –
@ScottS 위의 'render'아래에있는 것은 브라우저가 얻고있는 것입니다. 그러나 공백을 수정하여보다 쉽게 읽을 수 있도록했습니다. – Thomas
흠. 레일을 파싱하고 레이아웃의 출력을 변경하는 것을 한번도 본 적이 없지만, 3.2를 거의 사용하지 않았습니다. 내가 주목하는 한 가지는 레이아웃에 '<%= yield %>'문이 없다는 것입니다. 나는 이것이 문제가 될 것이라고 기대하지는 않지만 예기치 않은 행동을 일으킬 수 있습니다. 임베디드 코드를 제거하고 직선 HTML을 출력 해보고 어떻게 작동하는지보십시오. –