Colin, I understood what you suggested about using named scope and I'll try thislater. About the concurrency case, I don´t need to worry about it because it is a "admin" functionality, so only one user will use this.
Thanks for your help. -- Alberto On May 21, 4:11 am, Colin Law <[email protected]> wrote: > No doubt there are neater ways but you could define a named scope that finds > all records where column1 is true, then in your validate method if column1 > for the new record is true and if your named scope.count > 1 then add an > error for column1. The named scope is not compulsory, it is just for > tidiness. > > You may have to worry about what happens if two people try to update the db > at the same time though. I am not sure of the best way to solve that one. > > 2009/5/20 cardinallijr <[email protected]> > > > > > Hi all, > > > I'm trying to validate my model through equal values occuring a number > > of times on the same column. I think that I have to use a custom > > validation, right? I tried to use it but had no success. > > > For example, that's the table: > > > class MyTest < ActiveRecord::Migration > > def self.up > > create_table :mytest do |t| > > t.column :name, :string > > t.column :column1, :boolean > > end > > def self.down > > drop_table :products > > end > > end > > > What I need is that when 2 records on the table 'mytest' had column1 = > > TRUE (1), and we try to insert a new record with this condition > > (column1 = TRUE), an error to this field be added. Please, can you > > help me to find a solution for this? Any hint for the model file > > (mytest.rb)? > > > Thanks for the help. > > > -- > > Alberto --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---

