If it's immutable, then why is it in a database?


On May 18, 11:02 am, Michael Pavling <[email protected]> wrote:
> On 18 May 2010 16:58, chewmanfoo <[email protected]> wrote:
>
>
>
>
>
> > Wow ok.
>
> > So, the following:
>
> > Class Shape < ActiveRecord::Base
> >  attr_accessible :color_id
> >  belongs_to :color
> > end
>
> > Class Color < ActiveRecord::Base
> >  has_many :shapes
> > end
>
> > Now, in the console:
>
> > sh = Shape.last
> > ...
> > sh.color_id
> > 12
> > sh.color.name
> > "red"
> > ...
> > c = Color.find(12)
> > c.name = "blue"
> > c.save!
> > ...
> > sh.color.name
> > "blue"
>
> Why would you *ever* change a colour's name? If it's blue it's blue.
> It's immutable; atomic.
> It's a value in a *lookup* table.
>
> If you want to store the "name" of the colour instead of its id
> (because you find yourself often doing hideous things like changing
> the values in lookups), then do so; you'll just have a poor,
> inflexible DB.
>
> --
> 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 
> athttp://groups.google.com/group/rubyonrails-talk?hl=en.

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