Custom default form builder in Rails 3

Hello everyone,

I am trying to set a default custom form builder.
I have defined my form builder class in “lib/mymodule/mybuilder.rb”
as:

module Mymodule
class Mybuilder < ActionView::Helpers::FormBuilder

end
end

Then I am trying to use this custom class in application.rb as
config.action_view.default_form_builder = Mymodule::Mybuilder. But I
get “Uninitialized constant error.”

Does this mean that my module stored in “lib” directory is not loaded
automatically?

Thanks in advance,

p.s. I am a newbie to Ruby and Rails as well. I can’t really
understand the module and class loading process in rails. I will
appreciate if someone explains me a little bit which folders are
loaded in initialization process, which I should “require ‘someclass’”
explicitly.

I gueuss it’s due to the fact your ‘lib/mymodule/mybuilder.rb’ isn’t
required yet, do this in the config/environment.rb where you have the
line:

config.action_view.default_form_builder = Mymodule::Mybuilder

C+++

evnironment.rb file doesn’t contain any “config” instance or local
variable.
Edge rails documentation (Rails application configuration) suggests
using:

config.action_view.default_form_builder = MyBuilder

inside application.rb file.

I just cant figure out Where to store my modules/classes in order to
be able to set that configuration
int application.rb file.

On Jun 23, 9:57 pm, Christiaan Van den Poel

My mistake then, sorry for that.

So when you do a require ‘your/module’ in the application.rb doesn’t
this
works?