ERB блоки в Rails 3
Внимание: Я рекомендую использовать метод “capture” вместо “with_output_buffer”. Так вы получите дополнительные возможности при работе вне ERB шаблонов. Код ниже был обновлен.
Источники
rvm install ruby-head
rvm ruby-head
gem install rails —pre
bundle install
# Gemfilegem "rails", "3.0.0.beta2"
# application_helper.rb
def admin_area(&block)
content = capture(&block)
content_tag(:div, content, :class => "admin")end
# or
def admin_area(&block)
content_tag(:div, :class => "admin", &block) if admin?end
<%= form_for @product do |f| %>
<% end %><%= div_for @product do %>
<% end %><% @comments.each do |c| %>
<% end %><% content_for :side do %>
<% end %>
<% cache do %>
<% end %><!— products/show.html.erb —>
<%= admin_area do %>
<%= link_to "Edit", edit_product_path(product</span>) <span class="dl">%></span></span> | <span class="il"><span class="dl"><%=</span> link_to <span class="s"><span class="dl">"</span><span class="k">Destroy</span><span class="dl">"</span></span>, <span class="iv">product, :confirm => "Are you sure?", :method => :delete %> |
<%= link_to "View All", products_path %><% end %>


