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
-~----------~----~----~----~------~----~------~--~---

Reply via email to