Another fine idea, it would appear. But why do both? Does checking a
combined parameters column before validation save me some kind of
performance hit?

Grar

On Feb 23, 11:17 am, Michael Pavling <[email protected]> wrote:
> On 23 February 2010 01:30, Rick DeNatale <[email protected]> wrote:
>
> > To create an index you can create a migration which includes a statement 
> > like
>
> >   add_index  :widgets, [:a, :b], :unique => true)
>
> > Assuming that the table name for the model is 'widgets'
>
> > Now if you do this, you also need to be aware that if you try to save
> > a record with a uniqueness conflict the save will raise an
> > ActiveRecord::StatementInvalid exception, which you'll need to rescue
> > and do something like telling the user of the conflict so that he can
> > resolve it.
>
> If you add a column called "combined_params" or similar, you can add a
> before_validate method to concatenate all of your parameters and write
> it to this column, this will let you do AR "validates_uniqueness_of"
> checks too.
>
> It would actually remove the need to have the key added across the
> columns in the DB, but I'd leave that as a safety net, as it would be
> too easy to accidentally (or deliberately) change a row's
> "combined_params" column, and risk duplicates.

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