Рубин на Rails руководства есть раздел об ассоциациях, который является то, что вы хотите. Он находится здесь: http://guides.rubyonrails.org/association_basics.html
В двух словах, поскольку вы добавили ассоциацию в своей пользовательской модели к нескольким пост-записям, Rails построит вспомогательный метод в вашей пользовательской модели, называемой сообщениями. Вы можете использовать это для доступа ко всем сообщениям, связанным с этим пользователем.
Когда вы создаете сообщение, пост-запись должна иметь столбец с именем user_id. Это обеспечит «физическую» связь между моделями пользователей и сообщений.Вы можете получить доступ к сообщению от пользователя следующим образом:
user.posts each do |post|
# do something with post.content
end
Чтобы получить сообщения, которые соответствуют определенным критериям в коллекции сообщений вы можете запросить так:
posts = user.posts.where(:something => 'matches criteria')
Если вы знаете, что есть только один пост, который соответствует критериям, вы можете сделать это:
post = user.posts.where(:something => 'matches criteria').first
Для модели post также требуется принадлежность пользователя to_to: user. (The belongs_to будет генерировать вспомогательный метод под названием пользователя в почтовой модели, которую затем можно использовать для доступа к записи пользователя с поста.) Например:
user_email = post.user.email
Запись пользователя не требуется столбец POST_ID начиная с Rails знает, что user.post относится к столбце и автоматически генерирует запрос с использованием user_id.
В любом случае, руководство, которое я связал выше, предоставит вам всю необходимую информацию и многое другое.