On Wed, Oct 17, 2012 at 8:34 AM, ruby rails <li...@ruby-forum.com> wrote: > I need to create certain number of UUId records(based on the selection > of drop down) and save it in the database. Now I am generating only one > unique id. Can this be done in the model in this way. Or do I need to > write a helper file for that?? > > def generate_unique_token=(value) self.secret = > Base64.encode64(UUIDTools::UUID.random_create)[0..8] end > > In my controller........... > > def create > @secretcode= Secretcode.new(params[:secretcode]) > @user= User.new(params[:user]) > @secretcode.user_id=@user > @secretcode.generate_unique_token=params[:secretcode][:secret] > if @secretcode.valid? > @secretcode.save > redirect_to secretcodes_path > else > render 'new' > end end
before_save :guarantee_uuid! private def uuid if !uuid_field? write_attribute :uuid_field, # UUID CODE HERE end end That is how I would personally do it, put it all in a method and trigger it with before_save, this also gives you the option to generate the UUID and modify/add it in other places too. -- 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@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.