Проблема: как визуализировать несколько страниц просмотра с разных контроллеров?
В моем views / layouts / application.html.erb я вызываю views / posts / index.html.erb с методом yield.
<div class='span10'>
<%= yield %>
</div>
Вдобавок к этому я хотел вызвать views / good_posts / index.html.erb с yield. Поэтому в этом конкретном индексном файле я оборачиваю весь код с помощью метода content_for.
<%= content_for :good_post do %> all my content in good_post/index.html.erb <% end %>
Я возвращаюсь к application.html.erb, я пытался вызвать индексный файл good_post методом yield.
<div class='span10'>
<%= yield :good_post %>
</div>
<div class='span10'>
<%= yield %>
</div>
Я думал, что это приведет к тому, что good_post / index будет отображаться поверх post / index, но это не сработало; только запись / указатель были правильно отрисованы, как и раньше. Может ли кто-нибудь объяснить, почему это так, и рассказать мне, как правильно подойти к этой проблеме? Я ценю вашу помощь!
content_for
в этом случае игнорируется. В противном случае попробуйте<%= content_for :good_post %>
вместо<%= yield :good_post %>
. Оба действительны, но посмотрите, имеет ли это какое-либо значение. - person cdesrosiers   schedule 18.11.2012content_for
при определении содержимого, как вы это делали. Вы можете использоватьcontent_for
илиyield
при рендеринге контента. См. это - person cdesrosiers   schedule 18.11.2012good_posts/index.html.erb
на частичное, скажем,good_posts/_posts.html.erb
, и используя<%= render 'good_posts/posts' %>
вgood_posts/index.html.erb
иposts/index.html.erb
- person cdesrosiers   schedule 18.11.2012