Эффект, который я ищу, заключается в реализации многократно используемого компонента для HTML-блока. Я обнаружил, что люди, кажется, используют что-то вроде следующего примера, но он просто не работает для меня.
У меня есть:
# app/views/home/index.html.erb
top
<% render :layout => 'layouts/box' do %>
<p>Here is some content</p>
<% end %>
bottom
и
# app/views/layouts/_box.html.erb
inside box
<%= yield %>
Конечный результат, который я получаю в браузере:
top bottom
Тем не менее, я могу видеть в журналах:
Processing by HomeController#index as HTML
Rendered layouts/_box.html.erb (0.1ms)
Rendered home/index.html.erb within layouts/application (1.2ms)
Итак, макет коробки обрабатывается. Это просто ничего не показывает.
Есть идеи?
Я использую Rails 3.1.3 и Ruby 1.9.2-p290.