AppleII717 wrote: > Even though I've been "playing" with RoR since before 1.0, I've never > got a good grasp on where you put code! > > Code or helper method placed in helpers can only be called from views, > if I'm not mistaken.
Basically right. > > Code that is specific to a model or controller is also a no-brainer - > but what about code that you want to share in different models/ > controllers. > > What if I have a function unformatPhone that I want to call in a > model's before_save event - where to I stick it so that it can be > called by all models and maybe even from a view? > Well, first of all, you should call it unformat_phone. This isn't Java. > Is my only choice in the application_controller? Is that a good > choice? That won't work at all. You should put it in the model. To share code between models, you have the same two choices that you have for sharing code between *any* classes (remember, there's nothing magical about models): 1. Put it in a module and include it in the models you want to use it, or 2. Create a subclass of ActiveRecord, put the code there, and have the models inherit from that. [...] > If anyone can point me to a good tutorial on where you put code, I'd > be thankful. You don't need a tutorial here, I think. You just need to remember that inheritance and module inclusion are fundamental Ruby tricks that should be on your radar. Best, -- Marnen Laibow-Koser http://www.marnen.org [email protected] -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to [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 -~----------~----~----~----~------~----~------~--~---

