Вероятно, это должны быть отношения has_and_belongs_to_many
class User < ActiveRecord::Base
has_and_belongs_to_many :messages
end
class Message < ActiveRecord::Base
has_and_belongs_to_many :users
end
Вам также понадобится третий стол:
messages_users
И миграция будет выглядеть примерно так:
class CreateMessagesUsers < ActiveRecord::Migration
def self.up
create_table :messages_users do |t|
t.integer :user_id
t.integer :message_id
t.timestamps
end
end
def self.down
drop_table :messages_user
end
end
После настройки вы можете позвонить
@user.messages
или @message.users
и настройте для этого некоторые области видимости. Это кажется более подходящим для того, что вы пытаетесь достичь.