简体   繁体   中英

Monkey Patching in Rails 3

What is the preferred way to Monkey Patch in Rails 3?

I just want to add a method to the String class. I'm more looking at where to place the file.

The initializer directory is a good place to collect all those little scraps. Since I tend to go a bit overboard with core extensions, I like to make a folder there called "extensions" and toss them all in there.

So, try /config/initializers/string_extension.rb , or /config/initializers/extensions/string.rb , or something similar. Either way, you can just forget about them afterward - Rails will require them for you, so you don't need to do it yourself.

If it is class specific you could just re-define the method in the class you need it for. Otherwise, it totally depends on which part of the app you want to use your string method. As an example of opening a class to redefine a method: http://codepad.org/Cj1LHmQj but, you probably already knew you could do that.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM