У меня есть простое приложение с моделью пользователя, ролевой моделью, моделью сообщений с получателем. У пользователя много сообщений через роль , и у роли много сообщений через получателей, и у пользователя также много сообщений через получателей.Как объединить два запроса ActiveRecord в Rails
модели получатель имеет user_id, ROLE_ID и message_id
и теперь я хочу, чтобы отобразить все сообщения пользователя, включая его роль сообщения и его личное сообщение в одном запросе. Как я могу это сделать.
role model
has_many :recipients
has_many :received_messages, :class_name => 'Message', :order => 'created_at desc', through: :recipients
user model
has_many :roles
has_many :received_messages, :class_name => 'Message', :order => 'created_at desc', through: :roles, :uniq => true
has_many :recipients
has_many :private_messages, :class_name => 'Message', :order => 'created_at desc', through: :recipients
message model
has_many :recipients
has_many :roles, :through => :recipients
has_many :users, :through => :recipients
Со всем этим на месте, как я собираюсь принести пользователям сообщения как его ролевые сообщения и его личные сообщения
пример
def all_messages
@all_messages = current_user.#all messages scope here#
end
У вас есть has_many: роли для пользовательской модели. это означает, что у вас есть правка own_to: пользователя на образце для подражания? – jvnill