Как получить пользователей с заданным user_level в рельсах - PullRequest
0 голосов
/ 27 сентября 2011

Вот две модели: user и user_level.Пользователь has_many user_levels и уровень пользователя принадлежит пользователю.

class user < ActiveRecord::Base
  has_many :user_level
end

class UserLevel < ActiveRecord::Base

  belongs_to :user
end

UserLevel.find_by_role ('sales') будет получать все записи (w / user_id) продаж ролей.Как получить электронную почту пользователя с указанным user_level с ролью 'sales'?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2011

Вы можете иметь ассоциации в обратном направлении и на самом деле хотите:

class User < ActiveRecord::Base
  belongs_to :user_level
end
class UserLevel < ActiveRecord::Base
  has_many :users
end

Затем:
@users = UserLevel.find_by_role ('sales'). Users
Затем можно выполнить итерацию по @Сбор пользователей и использование электронной почты в течение итераций.

0 голосов
/ 27 сентября 2011
User.joins(:user_levels).where(:user_levels => { :role => "sales"}).select("email")

или

UserLevel.joins(:user).where(:role => "sales").select("email")

обновление

UserLevel.find_by_role("sales").users
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...