I created my custom form builder (which inherits rails built-in form
builder) name spaced under my app module. I also assigned this form
builder to be the default action view form builder in the
environment.rb. When I am starting the server, rails is throwing
different errors some times saying unexpected kDEF expecting "<" or "\n"
or ";" or some times saying unxpected $end expecting "<" or "\n" or ";"
Following is the implementation of my code.
lib/my_app.rb
module MyApp
VERSION = 1
end
lib/my_app/form_builder.rb
require 'my_app'
module MyApp
class FormBuilder < ActionView::Helpers::FormBuilder
include MyApp::FormHelper
end #end of class
end #end of module
lib/my_app/form_helper.rb
require 'my_app'
module MyApp
module FormHelper < ActionView::Helpers::FormHelper
end #end of module FormHelper
end #end of module MyApp
and at the end of environment.rb (after initializer)
ActionView::Base.default_form_builder = MyApp::FormBuilder
Why is Rails not accepting my FormBuilder when I nest it under MyApp
module?
Btw: If I declare the FormBuilder as a standalone class, its working.
Thanks for the reponse. I didn't quite get what you mean by I am making
a module inherit from a class.
MyAPP - is top level module
MyApp::FormBuilder - is class within my module MyApp and inherits from
builtin rails FormBuilder class
MyApp::FormHelper - is module within my module MyApp.
I don't see where my class is being inherited from module.
Thanks for the reponse. I didn't quite get what you mean by I am making
a module inherit from a class.
MyAPP - is top level module
MyApp::FormBuilder - is class within my module MyApp and inherits from
builtin rails FormBuilder class
MyApp::FormHelper - is module within my module MyApp.
I don't see where my class is being inherited from module.
You've written
module FormHelper < ActionView::Helpers::FormHelper
end
which doesn't make any sense - modules can't inherit from anything.