I created a module MyModule “my_module.rb” and put in a lib folder in
my rails app.
In my User.rb model I call include MyModule.
When I try to use a method inside MyModule I get an “undefined method
error”. How do I include this module in the model?
Thanks
badnaam wrote:
I created a module MyModule “my_module.rb” and put in a lib folder in
my rails app.
In my User.rb model I call include MyModule.
When I try to use a method inside MyModule I get an “undefined method
error”. How do I include this module in the model?
What you described should work. Let’s see code.
Thanks
Best,
–Â
Marnen Laibow-Koser
http://www.marnen.org
[email protected]
Sent from my iPhone
I suspect that after you require validation_group.rb you want to have
something like:
ActiveRecord::Base.class_eval { extend
ValidationGroup::ActiveRecord::ActsMethod }
You need to get the “validation_group” method into ActiveRecord::Base
and therefore User before you call it.
-Rob
On Aug 23, 2010, at 3:22 PM, badnaam wrote:
When I try to use a method inside MyModule I get an "undefined
–
Groups “Ruby on Rails: Talk” group.
To post to this group, send email to rubyonrails-
[email protected]
To unsubscribe from this group, send email to [email protected]
.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en
.
Rob B.
[email protected] http://AgileConsultingLLC.com/
[email protected] http://GaslightSoftware.com/
Here is the code…
http://pastie.org/1110631
Thanks
Rob,
Are you saying I need to do a
1 - require ‘validation_group’ in my User.rb
2 - Then add
ActiveRecord::Base.class_eval { extend
ValidationGroup::ActiveRecord::ActsMethod }
to my User.rb?
Thanks
On Aug 23, 12:44 pm, Rob B. [email protected]
On Aug 23, 2010, at 3:50 PM, badnaam wrote:
ActiveRecord::Base.class_eval { extend
ValidationGroup::ActiveRecord::ActsMethod }
to my User.rb?
Thanks
No, I don’t know what you “need” only what I “suspect” your code is
missing. Probably not in your user.rb, but in an initializer
somewhere. (config/initializers/validation_group.rb or in config/
environment.rb) If you’re modifying the plugin, you really need to
understand the Ruby hook methods (like extended() and included()) or
at least copy all the relevant bits when you’re cargo-culting a
solution.
-Rob
I created a module MyModule “my_module.rb” and put in a lib
Posted viahttp://www.ruby-forum.com/.
.
For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en
.
Rob B.
[email protected] http://AgileConsultingLLC.com/
[email protected] http://GaslightSoftware.com/
badnaam
September 2, 2010, 8:42am
#8
ouch. Cargo cult. a bit harsh. At some point we were all learning to
program. How we treat the newcomer says a lot about the Rails
community.
badnamm, I think what you’re trying to do might be satisfied by extend
not include.
see this article for more info.
http://railstips.org/blog/archives/2009/05/15/include-vs-extend-in-ruby/
dave
On Aug 23, 12:58 pm, Rob B. [email protected]