Hi guys,

I noticed today that haml seems to override simply_helpful's form
helpers, so:

- form_for Person.new do |f|
  = f.text_field :name

fails.

I looked at it a bit, and think the problem is that
action_view_mods.rb is aliasing form_for before simply_helpful
modifies it -- probably because "haml" is alphabetically before
"simply_helpful" and plugins are probably included in lexical order.

Anyhow, I've written a patch that solves this for me; it uses
alias_method_chain() like simply_helpful does; is just posting it at
the bottom of this message a good way to send it for review?

Thanks!
-Nate
Wendt Library
UW - Madison

--- action_view_mods.rb (revision 57)
+++ action_view_mods.rb (working copy)
@@ -12,8 +12,6 @@
   class ActionView::Base
     alias_method :old_concat, :concat unless
instance_methods.include? "old_concat"
     alias_method :old_form_tag, :form_tag unless
instance_methods.include? "old_form_tag"
-
-    alias_method :old_form_for, :form_for unless
instance_methods.include? "old_form_for"
   end

   module Haml
@@ -59,7 +57,7 @@
           res
         end

-        def form_for(object_name, *args, &proc) # :nodoc:
+        def form_for_with_haml(object_name, *args, &proc) # :nodoc:
           if block_given? && is_haml?
             oldproc = proc
             proc = bind_proc do |*args|
@@ -68,13 +66,14 @@
               tab_down
             end
           end
-          old_form_for(object_name, *args, &proc)
+          form_for_without_haml(object_name, *args, &proc)
           concat "\n" if block_given? && is_haml?
         end

         def generate_content_class_names
           controller.controller_name + " " + controller.action_name
         end
+        alias_method_chain :form_for, :haml unless
instance_methods.include? "form_for_with_haml"
       end
     end
   end


--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---

Reply via email to