문제점 : 다른 컨트롤러에서 여러보기 페이지를 어떻게 렌더링합니까? 내 뷰/레이아웃/application.html.erb에서 레일 : 수율을 사용하여 여러보기 페이지 호출
, 나는 항복 방법 보기/글/index.html.erb 호출합니다.<div class='span10'>
<%= yield %>
</div>
그 위에, 나는 수율 보기/good_posts/index.html.erb 전화를 원했다. 그래서 특정 인덱스 파일에서 나는 content_for 메소드로 모든 코드를 둘러 쌉니다.
<%= content_for :good_post do %> all my content in good_post/index.html.erb <% end %>
나는 application.html.erb로 돌아가서 yield 메소드를 사용하여 good_post의 색인 파일을 호출하려고했습니다.
<div class='span10'>
<%= yield :good_post %>
</div>
<div class='span10'>
<%= yield %>
</div>
이것은 good_post/index가 post/index 맨 위에 렌더링 될 것이라고 생각했지만 작동하지 않았습니다. 게시물/색인 만 올바르게 이전과 같이 렌더링되었습니다. 누군가 이것이 왜 이것을 설명하고이 문제에 접근하는 올바른 방법을 말해 줄 수 있습니까? 도와 줘서 고마워!
캐싱을 사용하고 있습니까? 이 경우'content_for'는 무시됩니다. 그렇지 않으면'<% = yield : good_post %> '대신'<% = content_for : good_post %>'를 시도하십시오. 둘 다 유효하지만 차이가 있는지 확인하십시오. – cdesrosiers
나는 yield와 content_for를 동시에 사용해야한다고 생각했다. 이것이 내가 good_posts/index에있는 content_for를 작성한 이유이며,이 파일을 호출하기 위해 application.html에서 산출했다. –
내용을 정의 할 때'content_for'를 사용해야합니다. 내용을 렌더링 할 때'content_for' 또는'yield'를 사용할 수 있습니다. [this] (http://api.rubyonrails.org/classes/ActionView/Helpers/CaptureHelper.html#method-i-content_for) – cdesrosiers