Задать вопрос
@Adil1

Как в rails правильно написать запрос, чтобы вытащить из базы определенные записи?

В общем ситуация такая, хочу вытащить из users пользователей с определенной ролью, но не знаю как правильно писать запросы .joins, поделитесь, пожалуйста опытом.

class UsersController < ApplicationController

def index
    	@users = User.all
    	@users.roles.where(role: 4)
    end
end

class User < ActiveRecord::Base
 has_many :users_roles, dependent: :destroy
  has_many :roles, :through => :users_roles

class Role < ActiveRecord::Base

	has_many :users_roles
  	has_many :users, :through => :users_roles
end

class UsersRole < ActiveRecord::Base
  belongs_to :user
  belongs_to :role
end


Роли писались специально для cancan и devise.
И вот теперь не знаю как в контроллере всавить where на Join таблицу я нуб в рельсах.
  • Вопрос задан
  • 3107 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
sl_bug
@sl_bug
Например
User.includes(:users_roles).references(:users_roles).where(usesr_roles: { id: 1 })
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы