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 in advance.
-Satynos
Any help is much appreciated. This insight will help me not just for
subclassing built in form builder, but also to get a grasp of what is
allowe and what is not allowed in Rails parlance.
-Satynos
You’re making a module inherit from a class and this is wrong.
Here’s an example of building a custom form builder →
http://onrails.org/articles/2008/06/13/advanced-rails-studio-custom-form-builder
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)
On Sat, May 30, 2009 at 4:42 PM, Saty N.
Mauricio:
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 in advance.
-Satynos
MaurÃcio Linhares wrote:
You’re making a module inherit from a class and this is wrong.
Here’s an example of building a custom form builder →
http://onrails.org/articles/2008/06/13/advanced-rails-studio-custom-form-builder
Maur�cio Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)
On Sat, May 30, 2009 at 4:42 PM, Saty N.
On May 31, 1:59 am, Saty N. [email protected] wrote:
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.
Fre
Fre:
That was a typo. In my actual implementation FormHelper is a module and
it doesn’t inherit the builtin FormHelper, but includes it. So there was
no problem. The problem I was having is with the FormBuilder itself. I
beleive there was other code files that were creating the problem. Once
I create a new rails app from scratch, everything works fine.
Thanks for all the feedback.
-Satynos
Frederick C. wrote:
On May 31, 1:59�am, Saty N. [email protected] wrote:
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.
Fre