2011-09-10 4 views
4

그래서 나는 기본적인 레이아웃 파일을 렌더링 레이아웃 정지한다. 내가 페이지 모두가 iframe을 때까지 렌더링 렌더링 할 때레일 3.1 갖는 iframe에서

<iframe id="form" height="480" width="320" src="/mobile_preview/preview"/> 

을하지만, 항복 후 바닥 글 물건 렌더링하지 않습니다 그러나 내가보기에이 같은 iframe에 추가합니다. 누구도 전에 이것에 빠졌습니까?

편집 : 답변 중 하나가 지적 했으므로 (감사합니다!), 초기 질문에 내 항복 성명서가 잘못되었습니다. 내 코드에서 yield 문은 올바르지 만, stackoverflow로 전송할 때 오타가 발생했습니다.

참고 : iframe을 복제하려는 경우 jquery mobile을 사용하고 있습니다.

+0

렌더링 된 페이지 소스를 살펴보십시오. iframe은 페이지가로드 될 때까지 가져 오지 않아야합니다. – klochner

답변

14

입니다. 자폐 형 태그가 포함 된 것으로 생각하고 거기에서 끝납니다. 그러나 페이지를 XML로 보내지 않고 HTML에 자체 마감 태그 개념이 없으므로 결국에는 그냥 쓰레기가됩니다. 그래서 :

<iframe id="form" height="480" width="320" src="/mobile_preview/preview"/> 

정말로 해석됩니다 :

<iframe id="form" height="480" width="320" src="/mobile_preview/preview"> 

하고 페이지의 나머지 부분은 <iframe> 태그 내부 무시 내용으로 해석됩니다. 그렇기 때문에 HTML 문서에서 자체 닫는 태그를 사용하면 안됩니다. 실제로 생각하는대로 작동하지 않습니다. 당신이 방화범 또는 크롬 경위와 구문 분석 DOM 트리 보았다 경우

<iframe id="form" height="480" width="320" src="/mobile_preview/preview"></iframe> 

당신은 그것을 찾을 수 있습니다 : 그것은에

변경합니다.

보너스 : 레일스와 아무런 관련이 없습니다. 서버는 이전과 마찬가지로 응답을 로그에 기록 할 수 있습니다. 마크 업이 브라우저에 의해 어떻게 해석되는지가 중요합니다.

+0

감사합니다 MBO! Stackoverflow는 22 시간을 기다리게 만들 것입니다,하지만 제가 할 수있을 때 현상금을 당신에게 줄 것입니다. – Msencenb

+0

@ MBO, 정말 고마워 .. 꽤 짜증나는 문제로 꽤 고생하고 있는데 .. 어리석은 실수가 뭐지? :) – RameshVel

2

당신은 루비 코드 장소를 clossing에 잘못이

<%= yield => 

올바른 당신이 <iframe>을 포함하는 방법을 문제가

<%= yield %> 
+0

SO를 단순화 할 때 실수였습니다. 내 실제 코드는 정확한 수익률을 가지고 있습니다. 질문을 업데이트하겠습니다. – Msencenb