RAFB apparently drops files after 24 hours - any chance you could put
those examples up someplace (gist or pastie, for instance) with a
little more persistence?

Without seeing the code, it's hard to even guess what's going on. But
I seem to recall seeing similar behavior when I had code saving an
associated record in before_save, which then got picked up again by
the association save callbacks.

--Matt Jones

On Mar 17, 10:18 am, ball <[email protected]> wrote:
> Thanks. I am sure it is something I am missing. I am trying to learn
> about SQL and Rails.
> Here is the script I am using. I am really just trying to create a
> script that explores all of the database relationships and how to
> implement them in Rails.
>
> The code:http://rafb.net/p/iUgqjX46.html
>
> The output and SQL:http://rafb.net/p/tpvlVc44.html
>
> On Mar 17, 2:48 am, "\"Wolas!\"" <[email protected]> wrote:
>
> > I replicated 2 scenareos and neither of them do what you have
> > described:
>
> > has and belongs to many scenario
>
> > == models
>
> > class Product
> >   has_and_belongs_to_many :categories
> > end
>
> > class Category
> >   has_and_belongs_to_many :products
> > end
>
> > == db
>
> > create_table "categories", :force => true do |t|
> >     t.string   "name"
> >   end
>
> >   create_table "categories_products", :id => false, :force => true do |
> > t|
> >     t.integer "product_id"
> >     t.integer "category_id"
> >   end
>
> >   create_table "products", :force => true do |t|
> >     t.string   "name"
> >     t.integer  "price"
> >   end
>
> > == test
>
> > >> p = Product.new :name => "cool bike", :price => 123
>
> > => #<Product id: nil, name: "cool bike", price: 123>>> p.categories << c
>
> > => [#<Category id: 1, name: "bikes">]>> p.save
> > => true
> > >> p.categories
>
> > => [#<Category id: 1, name: "bikes">]
>
> > Same thing with has_many :through. which leads me to believe you
> > havent set your relationships right. Could you show us the mdoel and
> > table code plz?
>
> > On Mar 17, 5:11 am, ball <[email protected]> wrote:
>
> > > It didn't exist before hand. ActiveRecord is triggering two inserts. I
> > > have included a full example and the SQL
>
> > >   catBike = Category.new(:name => "Bikes")
> > >   catBike.save
>
> > >   p = Product.new(:name => "Cannondale Bike", :price => 1000)
> > >   p.save
> > >   p.categories << catBike # This works great.
>
> > >   p = Product.new(:name => "Trek Bike", :price => 900)
> > >   p.categories << catBike # this causes two entriens to be created
> > >   p.save
>
> > >  Category Create (1.0ms)   INSERT INTO `categories` (`name`) VALUES
> > > ('Bikes')
> > >  Product Create (0.0ms)   INSERT INTO `products` (`name`, `price`)
> > > VALUES('Cannondale Bike', 1000)
> > >  SQL (0.0ms)   COMMIT
> > >  SQL (0.0ms)   BEGIN
> > >  categories_products Columns (10.0ms)   SHOW FIELDS FROM
> > > `categories_products`
> > >  SQL (1.0ms)   INSERT INTO `categories_products` (`product_id`,
> > > `category_id`) VALUES (1, 1)
> > >  SQL (0.0ms)   COMMIT
> > >  SQL (0.0ms)   BEGIN
> > >  SQL (0.0ms)   COMMIT
> > >  SQL (0.0ms)   BEGIN
> > >  Product Create (1.0ms)   INSERT INTO `products` (`name`, `price`)
> > > VALUES('Trek Bike', 900)
> > >  categories_products Columns (7.0ms)   SHOW FIELDS FROM
> > > `categories_products`
> > >  SQL (1.0ms)   INSERT INTO `categories_products` (`product_id`,
> > > `category_id`) VALUES (2, 1)
> > >  categories_products Columns (7.0ms)   SHOW FIELDS FROM
> > > `categories_products`
> > >  SQL (0.0ms)   INSERT INTO `categories_products` (`product_id`,
> > > `category_id`) VALUES (2, 1)
> > >  SQL (0.0ms)   COMMIT
>
> > > On Mar 16, 4:50 pm, Phlip <[email protected]> wrote:
>
> > > > > p.categories now has TWO catBike
>
> > > > Because << does not ask questions. It just adds a catBike. If you 
> > > > already had
> > > > one, now you have two.
>
> > > > You might need some combination of these:
>
> > > >    a :unique => true on the habtm (spelling?)
> > > >    a unique key (index) on the database
--~--~---------~--~----~------------~-------~--~----~
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