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
on 2010-08-23 21:14
on 2010-08-23 21:15
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 marnen@marnen.org Sent from my iPhone
on 2010-08-23 21:45
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-
> talk@googlegroups.com.
> To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com
> .
> For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en
> .
>
Rob Biedenharn
Rob@AgileConsultingLLC.com http://AgileConsultingLLC.com/
rab@GaslightSoftware.com http://GaslightSoftware.com/
on 2010-08-23 21:51
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 Biedenharn <R...@AgileConsultingLLC.com>
on 2010-08-23 21:59
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 Biedenharn Rob@AgileConsultingLLC.com http://AgileConsultingLLC.com/ rab@GaslightSoftware.com http://GaslightSoftware.com/
on 2010-09-02 08:42
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 Biedenharn <R...@AgileConsultingLLC.com>
Please log in before posting. Registration is free and takes only a minute.
Existing account
(Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
Log in with Google account | Log in with Yahoo account
No account? Register here.