On Jul 26, 6:20 am, Rick F <[email protected]> wrote:
> Hi all.. Just trying out Rails for the first time.. I've got a project
> I'd like to port over from another environment and am just not sure
> how to achieve the same sort of OO goodness I'm used to.. In my other
> environment, I've declared a few classes similar to the following
> (these are only a few of the overall classes):
>
> class Address :
>    street : string
>    city : string
>    state : string
>    zip : string
>    email : string
>    phone : string
>
> class Name :
>    lastname : string
>    husband : string
>    wife : string
>    children : array of strings
>
> class User
>    acctLocked : boolean
>    address : Address (object)
>    isProfileSetup : boolean
>    lastLogin : datetime
>    name : Name (object)
>    userType : enum(#regular, #admin)
>
> In this case, my old environment allowed me to create validation logic
> associated
> with each class so I didn't have to reproduce (for instance) address
> validation logic for the various classes (not present here) that had
> address records -- all was encapsulated within a single class to
> reduce/eliminate redundant code.
>
> So -- is this sort of compound objecting possible in Rails or should I
> just eliminate the first two classes and add their respective fields
> directly into Users?

Sounds like you want either validates_with, which enables you to
package up  a set of validations into something reusable or
validates_associated, which would tell your user that when it
validates itself it should also validate the associated address
object.

>
> Also, if I want to set a max field size for some of the strings (for
> validation purposes or otherwise), what's the best way to do that to
> ensure my generated SQL limits string length to 2 characters for state
> (for instance)?

validates_length_of  ?

Fred
>
> Please keep in mind that I've only been playing with Rails for about 2
> hours, so I'm still learning..
>
> Thanks!

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