Titan
2008-Oct-14 00:58 UTC
questions about generating customer_code when creating customer
I am working a MIS which have some customer management work. When the customer object is creating, we need to generate a unique code for the customer. When in oracle, I created a sequence to solve the problem. But now I migrated to mysql, and I tried to use the id created by auto- increment. But it fails because it have to call save in after_save, causing a infinite loop. what I want is a unique 6 digit number to append to the code,which I use self.id.to_s in my error code. thx in advance for your reply class Customer < ActiveRecord::Base CTYPES = [ [''Person'', ''P''], [''Corporation'', ''C''], [''Annual Corp'', ''A''] ] belongs_to :nation attr_accessor :code def after_save() nation = Nation.find(nation_id) self.code = nation.nation_code + ctype + Time.now.year.to_s + self.id.to_s self.save end # # private # def get_ccode # Customer.find_by_sql("select last_insert_id() as code")[0].code # end end --~--~---------~--~----~------------~-------~--~----~ 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---