On Sep 9, 8:19 am, Pascal Friederich <[email protected]> wrote:
> On Sep 9, 3:33 am, fireflyman <[email protected]> wrote:
>
> > So,Could you help me deal with my code ?
>
> David already gave you the answer, you are trying to add a
> has_many :through associated record to an unsaved record. The error
> message is pretty much telling you that "Cannot associate
> new records through 'Book#authors_books' on '#'. Both records must
> have an id in order to create the has_many :through record associating
> them.". The association is made through the author_books table with
> the id of both, the author and the book. With the book id being nil...
> I think you get the point.
>

Or upgrade to a version of rails that doesn't require this.

Fred
> If you use Book.new (and thats what you are doing in your test), the
> new books id is still nil because it hasn't been saved to the database
> yet. Replace Book.create and you should be fine (as long as your
> validations don't fail).
>
> -- pascal
--~--~---------~--~----~------------~-------~--~----~
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