Hi, I''m a noobie, and this is a simple question. If it has already been answered a thousand times prior, please just tell me the link :) A book can have many authors...an author can write many books: I have a simple model Books: create table books ( id int not null auto_increment, isbn varchar(25) not null, <etc.......other columns here> primary key (id) ); class Book < ActiveRecord::Base has_and_belongs_to_many :authors <etc....> A simple model Authors: create table authors ( id int not null auto_increment, first_name varchar(25) not null, last_name varchar(25) not null, primary key (id) ); A simple join table for many-to-many: create table authors_books ( book_id int not null, author_id int not null, constraint fk_ab_book foreign key (book_id) references books(id), constraint fk_ab_author foreign key (author_id) references authors(id) ) ; class Author < ActiveRecord::Base has_and_belongs_to_many :books <etc.....> Here''s my question: When I create a new book, I need to compile the list of authors and save them so they''ll be linked with the book via the authors_books table. If the author already exists, I want to re-use that author in the db, and not create a new author. Pseudo-code like this (not ruby): book = Book.new( ...all book params here) foreach author a: if author already exists in db authors.add(a) else author = Author.new(first_name, last_name) authors.add(author) end book.authors = authors book.save ------- I think this must be a pattern that the rails framework has tools for, but I''m just not that familiar. Is there a recommended way to go? I can certainly code it and make it work, but wondering if there are ActiveRecord tools that make this easy? Regards, Davis --~--~---------~--~----~------------~-------~--~----~ 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 -~----------~----~----~----~------~----~------~--~---