To implement a simple messaging system for a community platform I''ve
done the following code:
class Message < ActiveRecord::Base
belongs_to :sender, :class_name => ''User''
has_and_belongs_to_many :recipients, :class_name =>
''User''
end
class User < ActiveRecord::Base
has_many :sent_messages, :class_name => ''Message''
has_and_belongs_to_many :received_messages, :class_name =>
''Message''
end
with
CREATE TABLE users (
id INT NOT NULL AUTO_INCREMENT,
login VARCHAR(80) NOT NULL,
...
primary key (id),
INDEX (id)
) engine = InnoDB;
create table messages (
id INT NOT NULL AUTO_INCREMENT,
user_id int not null,
subject varchar(255),
body text,
created_at DATETIME default NULL,
modified_at DATETIME default NULL,
primary key(id)
) engine = InnoDB, character set utf8;
create table messages_users (
message_id int not null,
user_id int not null,
primary key(message_id, user_id)
) engine = InnoDB, character set utf8;
First everything seemed fine. But user.received_messages delivers
message objects that are DEFINITELY NOT in the database (wrong sender
ID)!! I had only one singel message in the DB, but
user.received_messages.first
yields a slightly other object than
Message.find :first
Strange, strange!!! A bug maybe?
--
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---