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: