DRYing Things Up

Is there any reason you are doing this as a helper rather than either
a.) a partial or b.) a helper with a partial?

Anthony Eden

Shai Shefer wrote:

This is the closest I have gotten, can anyone help?

  def render_product_tiles(products, options = {})
    size = options[:size]
    amount = options[:groups]
    "<table cellspacing=\"0\" cellpadding=\"0\" border=\"0\"
    products.in_groups_of(amount) do |row|

I don't get it. I didn't know you could generate HTML using unassigned strings like that.

Why aren't you using xml = Builder::XmlMarkup.new ? That would go...

      row.each do |product|

       xml.td :align => :center, :class => "product_tile_#{size}" do

          @product = product

                    xml.div :style => "etc..."

When you finish, extract the accreted string with xml.target!

DRY now becomes a matter of refactoring and squeezing down the xml calls, as raw Ruby. Use my assert_xpath() trick to test that while you squeeze it...

If you don't need this, my post rests in the archives for others to learn from...