Excuse my ignorance on partials but.....
I am trying to use partials to create a uniform display box built with html tables. The only way I have thought about accomplishing this is to create two partials:
_start_box.erb
Excuse my ignorance on partials but.....
I am trying to use partials to create a uniform display box built with html tables. The only way I have thought about accomplishing this is to create two partials:
_start_box.erb
Steve Woolley wrote:
This does seem to be a bit laborious when it seems partials are so flexible. Should I be using partials for this type of widget? Is their some way to accomplish this via a single partial instead of a partial for the first part of the table and a partial for the end part of the table?
Use a helper instead. Something like:
def tablize options = {}, &block # Set some default values options[:width] ||= '100%' options[:label] ||= 'Box Label' header = content_tag(:tr, content_tag(:th, h(options[:label]))) body = content_tag :tr, content_tag(:td, capture(&block)) table = content_tag :table, header+body, :id => :box, :width => options[:width] concat table, block.binding end
Then in your views you can do:
<% tablize :width => '97%', :label => 'A Label' do %> <b>Some Text</b><br /> <b>Some More Text</b><br /> <b>Some More Text</b><br /> <b>Some More Text</b> <% end %>
Beautiful, beautiful, beautiful...
works like a champ. Thanks for your help!
Mark Bush wrote: