yermej
11/27/2007 5:16:00 AM
On Nov 26, 9:32 pm, Kyle Schmitt <kyleaschm...@gmail.com> wrote:
> I'm plodding my way through active record right now, and running into
> some things that seem odd.
>
> Take a really simple example
> #!/usr/bin/ruby
> require 'rubygems'
> require 'active_record'
>
> ActiveRecord::Base.establish_connection(:adapter => "sqlite3",
> :database => "foo.db")
>
> ActiveRecord::Schema.define() do
> create_table :containers do |table|
> table.column :name, :string
> end
> create_table :things do |table|
> table.column :description, :string
> end
> end
>
> class Container<ActiveRecord::Base
> has_many :things
> end
>
> class Thing<ActiveRecord::Base
> belongs_to :container
> end
>
> Container.create(:name=>"Bucket")
> bucket=Container.find_by_name("Bucket")
> pocket=Container.create(:name=>"Pocket")
>
> bucket.save
> pocket.save
>
> Container.find(:all)
> #this will find both containers
>
> Thing.find(:all)
> #empty, as expected
>
> bucket.things.create(:description=>"fish")
> pocket.things.create(:description=>"lint")
>
> Thing.find(:all)
> #looks good...
>
> #but howcome
> pocket.things.find(:all)
> #throws some huge error instead of finding the things in the pocket?
>
> Sorry for the overly newbie type question :) I just really thought
> ActiveRecord was supposed to take care of all this stuff.
>
> Thanks,
> Kyle
What error do you get? That would help in diagnosing the problem.
You might also want to ask the Ruby on Rails list. I know ActiveRecord
doesn't have to be used with Rails, but they probably have more people
there with ActiveRecord experience.
Jeremy