On Nov 14, 2010, at 2:26 PM, Nathan Weizenbaum wrote: > capture_haml only captures strings that are concatenated directly to the > template. render :partial actually returns the string result rather than > concatenating it, so that's why capture_haml isn't working here. > > On Sun, Nov 14, 2010 at 1:22 PM, steve ross <[email protected]> wrote: > In a helper that renders partials can I use capture_haml? > > e.g., > > def mapped_downloads(download_hash) > s = capture_haml do > download_hash.map do |date, downloads| > downloads.sort{|o, other| other[:id] <=> o[:id]}.each do |d| > render :partial => 'detail_row', :locals => {:d => d, :date => date} > if d.download_date > 15.days.ago.to_date || Rails.env == 'test' > end > render :partial => 'subtotal', :locals => {:downloads => downloads, > :date => date} > end > end > s > end > > I'm not seeing anything from: > > = mapped_downloads(@downloads) > > in my view code. Help? > \
Thanks Nathan. I rewrote this, expressing the contents of the partials in methods contained in the helper using haml_puts. Oddly, the performance suffered. Is there any caching goodness associated with using render or is this something that's buried someplace in my code. -- You received this message because you are subscribed to the Google Groups "Haml" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/haml?hl=en.
