I wrote a 5 line hack that you can drop into your initializers directory to enable preprocessing in Erubis. This will run code in < %=== %> brackets at compile time making views considerably faster for rails helpers that only need to be evaluated once instead of on each render (the Erubis docs mention 20-40% speed increase but obviously it depends on the amount you precompile). For example: <%=== password_field_tag :password %> will produce this *at compile time*: <input id="password" name="password" type="password" /> Of course, many helpers produce a different output depending on the context which is not available at compile time so for those you would need to stick with the usual <%= %>. For example link_to will work only if it does not need the action name to generate the route. It doesn''t work yet for "stylesheet_link_tag" and "javascript_include_tag" which is a shame because those would be excellent candidates to eval at compile time. Perhaps someone with a deeper knowledge of Rails can say what would be needed to make that work. https://gist.github.com/707461 module ActionView class Base def get_binding;return binding;end end class Template module Handlers class Erubis < ::Erubis::Eruby def add_expr_debug(src, code) src << "@output_buffer.safe_concat(''" << escape_text(eval(code,ActionView::Base.new.get_binding).to_s) << "'');" end end end end end -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en.