This thing is driving me mad.

So, I’m following a typical exercise with Authors, Messages and Topics.

I’m coding with Rails 3.0.7 and Ruby 1.8.7.

The relation I want to do is really simple :

Author has_many :messages

Messages belongs_to :author
has_one :topic

Topic :has_one :author
:has_many :messages

the catch comes when on the console I’m inserting manually objects and
then verifying them.

So, for example, if I create a message named:
message1 = => ‘this is a message’)

and an author like
jack = => ‘Jack’)

the next thing I will try to do shall be: = jack

So at this point, if I want to verify I do this:
=> #<Author id: 8, name: “jack”, created_at: “2011-06-11 16:29:56”,
updated_at: “2011-06-11 16:29:56”>

Everything is fine.

But if I try to do the inverse, so :


I obtain this :

ActiveRecord::StatementInvalid: SQLite3::SQLException: no such column:
messages.author_id: SELECT “messages”.* FROM “messages” WHERE
(“messages”.author_id = 8)

and I don’t understand what it means. :frowning:
Do you have any idea about where am I mistaken?