[英]How to retrieve users given user_level in rails
Here is two models: user and user_level. 这是两个模型:user和user_level。 User has_many user_levels and user-level belongs to user.
用户has_many user_levels和user-level属于user。
class user < ActiveRecord::Base
has_many :user_level
end
class UserLevel < ActiveRecord::Base
belongs_to :user
end
UserLevel.find_by_role('sales') will retrieve all record (w/ user_id) of role sales. UserLevel.find_by_role('sales')将检索角色销售的所有记录(带有user_id)。 How to retrieve user email given user_level with role 'sales'?
如何使用角色“ sales”检索给定user_level的用户电子邮件?
Thanks. 谢谢。
User.joins(:user_levels).where(:user_levels => { :role => "sales"}).select("email")
or 要么
UserLevel.joins(:user).where(:role => "sales").select("email")
update 更新
UserLevel.find_by_role("sales").users
You may have the associations backwards and actually want: 您可能有向后关联,并且实际上想要:
class User < ActiveRecord::Base
belongs_to :user_level
end
class UserLevel < ActiveRecord::Base
has_many :users
end
Then: 然后:
@users = UserLevel.find_by_role('sales').users @users = UserLevel.find_by_role('sales')。users
You can then iterate over the @user collection and use the email within the iterations. 然后,您可以遍历@user集合并在迭代中使用电子邮件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.